Python/ socket Как отправлять сообщения без ожидания ответа от сервера?
Хочу отправлять сообщения без ожидания ответа от сервера. Однако, сколько не пытался застрял здесь:
import socket
import sys
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
return s.getsockname()[0]
if __name__ == "__main__":
tcp_socket = socket.socket()
print(">>>>>>>>>>>>>>>>>>>>>>>>")
print("Старт сервера, IP: {}".format(get_ip()))
print(">>>>>>>>>>>>>>>>>>>>>>>>")
tcp_socket.bind(("", 9090))
tcp_socket.listen(1)
print("Ожидаение соединения...")
conn, addr = tcp_socket.accept()
try:
print(f"Соединение с {addr}")
while True:
serv_mess = conn.recv(1024).decode()
if not serv_mess:
break
print("Клиент: ", serv_mess)
if serv_mess.lower() == "выход":
break
message = input("Сервер: ")
if message:
conn.send(message.encode())
else:
message = ">>>"
conn.send(message.encode())
print("Соединение закрыто")
except Exception as err:
print("Ошибка: ", err)
finally:
conn.close()
Здесь серверная часть, отправлять сообщения буду с telnet. Как это превратить в асинхронный сервер?