python. Приватный чат на socket


Как сделать приватный чат на сокетах ?

Сообщения клиенту сервером осуществляется посредством, скажем , его данных, которые сервер получает при подключении клиента:

conn , addr = SERVER.accept()

С помощью переменной conn можно отправить клиенту что-либо, тип у этой переменной sock.sock

Ближе к моей проблеме. При подключении клиента к серверу, клиент вводит ник, ник отправляется на сервер и добавляется в словарь(где ключ это conn, а значение ник). Пока, что у меня чат румма, поэтому сообщения отправляются всем пользователям:

def broadcast(msg,prefix=""):         for sock in clients:             sock.send(bytes(prefix, "utf8") + msg) 

(clients – словарь)

Я пошел по самому прямолинейному пути, как мне показалось. Создал кнопку на стороне клиента, которая запрашивает у сервера словарь со всеми клиентами. Клиент выбирает одного из подключенных пользователей, отправляет сообщение + параметры этого пользователя, ну и сервер по идее должен отправить по этому параметру сообщение клиенту. Ну и я столкнулся с проблемой(очевидно какой) параметры которые передаются клиентом серверу имеют тип str, что естественно не позволяет воспользоваться параметр.send(…).

У меня вопрос, как осуществить все таки передачу приватных сообщений моим способом, либо предложите свой способ.