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.
Bu da Client'ım.
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)