Python ile yazılan server ile Client farklı IP'den olur mu?

Amil216

Centipat
Katılım
10 Ağustos 2023
Mesajlar
29
Daha fazla  
Cinsiyet
Erkek
Selam herkese benim sorunum ben Python ile server ve Client yazdım. Burada serverı kendi IP'de çalıştırıyorum ama Client farklı bir IP'den. Benım serverıme bağlanmalı kodları paylaşıyorum.
Bu benim serverım.

Python:
import socket.
from gtts import gTTS.
import os.
import pygame.mixer

a = 1

def play_tts_message(message):
 global a
 sesli_metin = gTTS(text=message, lang='tr')
 sesli_metin.save(f"sesli_metin_{a}.mp3")

 pygame.mixer.init()

 ses_dosyasi = f"sesli_metin_{a}.mp3"

 pygame.mixer.music.load(ses_dosyasi)
 pygame.mixer.music.play()
 a+=1

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

host = "192.168.100.27"
port = 80.

server_socket.bind((host, port))
server_socket.listen(5)

print(f"Sunucu {host}:{port} adresinde dinleniyor...")

while True:
 client_socket, addr = server_socket.accept()
 print(f"{addr} adresinden bağlantı kabul edildi.")

 while True:
 data = client_socket.recv(1024)
 if not data:
 break.

 received_message = data.decode('utf-8')
 if received_message.lower() == 'exit':

 break.
 print(f"İstemciden gelen mesaj: {received_message}")
 play_tts_message(received_message)
 if received_message.lower() == 'exit':
 break.

 client_socket.close()
pygame.mixer.music.load('bos.mp3')
pygame.mixer.music.play()
for i in range(1, a):
 dosya_adi = f"sesli_metin_{i}.mp3"
 if os.path.exists(dosya_adi):
 os.remove(dosya_adi)

Bu da Client'ım.

Python:
from flask import Flask, render_template, request.
import socket.

app = Flask(__name__)

@app.route('/')
def index():
 return render_template('main.html')

@app.route('/submit', methods=['POST'])
def submit():
 if request.method == 'POST':
 response = request.form['response']
 # Formdan gelen cevap alındıktan sonra sunucuya mesaj gönder.
 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 host = "192.168.100.27" # DuckDNS adresiniz.
 port = 80.

 client_socket.connect((host, port))
 print(f"Sunucuya {host}:{port} adresine bağlanıldı.")

 client_socket.sendall(response.encode('utf-8')) # Formdan gelen cevabı sunucuya gönder.
 print(f"Sunucuya '{response}' mesajı gönderildi.")

 client_socket.close()

 return '', 204 # İstemciye herhangi bir cevap gönderme.

if __name__ == '__main__':
 app.run(host='0.0.0.0', port=5000, debug=True)
 

Technopat Haberler

Geri
Yukarı