Я пытаюсь изучить TCP-соединение в python, поэтому я попытался создать окно чата.
В этой крошечной программе клиентский сервер должен отправить «Hello World» на сервер, и сервер вернется с «Здравствуйте, крошечный ".
Первая часть программы работает (когда клиент отправляет данные на сервер), но когда сервер отправляет некоторые данные обратно, программа вылетает.
Я пробовал: serverSoc.sendall (bytes ("hello tiny one", "utf")), но он выдал ошибку
код клиента:
#creates a client socket
clientSoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#connects to a server
clientSoc.connect(("127.0.0.1",80))
print("Connection enabled\n You are the client")
clientSoc.send(bytes("Hello World!","utf-8"))
data = clientSoc.recv(1024)
print(data.decode())
в то время как серверкод:
serverSoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#becomes a server
serverSoc.bind(("127.0.0.1",80))
print("You are now The Server.")
serverSoc.listen(1)
while (True):
#get s the content of the connection(conn) and the address(addr)
conn, addr = serverSoc.accept()
#shows the address
print("Connected to "+ str(addr))
data = conn.recv(1024)
print("%s: %s"%(str(addr),data.decode()))
#send back some data
serverSoc.sendto(bytes("Hello tiny one.","utf-8"),addr)
conn.close()
serverSoc.close()
То, что я выполнил, было выполнено, чтобы клиент обслуживал связь (что успешно), а затем сервер к клиенту, где он выдает эту ошибку:
OSError: [WinError 10057]Запрос на отправку или получение данных был отклонен, поскольку сокет не подключен и (при отправке на сокет дейтаграммы с использованием вызова sendto) адрес не был указан