Не работает sendto(). Socket python
Пытаюсь написать небольшой p2p чат на python. По идее, по команде /connect <адрес:порт> адресат сообщения должен меняться.
import socket
import threading
import random
user = socket.socket()
PORT = random.randint(43000,44000)
ADDR = "127.0.0.1"
user.bind((ADDR, PORT))
print("Connected as ",ADDR,":",PORT)
def listen_for_messages():
while True:
try:
message, addr = user.recvfrom(1024).decode()
print("From: ",addr," Message: ", message)
except:
pass
t = threading.Thread(target=listen_for_messages)
t.daemon = True
t.start()
to_addr = None
to_port = None
while True:
data = input(":")
if not data:
break
if data.startswith('/connect'):
cmd, addr = data.split(' ')
to_addr,to_port = addr.split(":")
else:
user.sendto(data.encode(), (to_addr,int(to_port)))
Но выдаёт ошибку
Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied