Я работаю над личным проектом и отправляю данные от клиента на хост сокета.По какой-то причине сокет закрывается сразу после первого сообщения.Я пытался найти способ решить проблему, но ничего не смог найти.Кстати, я действительно новичок в сокетах и все еще пытаюсь научиться их использовать.
Код хоста
import socket
import sys
from _thread import *
host = ''
port = 5005
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
s.bind((host, port)) except socket.error as e:
print(str(e))
s.listen(5) print('Waiting for a connection.')
def threaded_client(conn):
reply = ''
while True:
data = conn.recv(2048)
reply = reply + data.decode('utf-8')
print(reply)
if not data:
print('someone left')
break
conn.close()
while True:
conn, addr = s.accept()
print('connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,))
Код клиента
import socket
TCP_IP = '192.168.0.10'
TCP_PORT = 5005
BUFFER_SIZE = 1024
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((TCP_IP, TCP_PORT))
l="Connection is Up and Running"
client.send(l.encode())
data = client.recv(BUFFER_SIZE).decode()
client.send(l.encode())
# print(client.send(l.encode()))
data = client.recv(BUFFER_SIZE).decode()
# print("received data:", data)
client.send(l.encode())
# print(client.send(l.encode()))
data = client.recv(BUFFER_SIZE).decode()
client.close()
Вывод на хостсторона
Waiting for a connection.
connected to: 192.168.0.10:52228
Connection is Up and Running