Не работает 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

Ответы (0 шт):