Я пытаюсь понять, как работают сокеты, и пытаюсь сделать несколько простых вещей.Мой клиент НЕ отправляет что-либо на сервер, и сервер ничего не получит.Но проблема в том, что сокет сервера всегда будет ждать ничего.Я хочу, чтобы он делал что-то еще, если нет доступных исходящих данных со стороны клиента.if statement
не помогает закончить ожидание.
Server.py:
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
hostname = socket.gethostname()
host = socket.gethostbyname(hostname)
port = 9090
server.bind((host, port))
server.listen(10)
con, addr = server.accept()
msg = con.recv(2048)
if not msg:
con.send('hello world'.encode('utf-8'))
con.close()
server.close()
else:
con.send('hi Client I received it'.encode('utf-8'))
con.close()
server.close()
Client.py:
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('192.155.11.79', 9090))
data = client.recv(2048).decode('utf-8')
print('From server side: ', data)
client.close()