Для начала, чтобы подключиться к удаленному сайту через TCP, используйте этот код
import socket, struct
def connectToHost(host, port=80, timeout=0):
try:
sock=socket.socket()
timeval=struct.pack("2I", timeout, 0)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, timeval)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDTIMEO, timeval)
sock.connect((host, port))
return sock
except:
return None
Теперь у вас есть открытый сокет, подключенный к удаленному серверу. Вы должны создать сокет прослушивания и подождать на этом соединении. Как только соединение установлено, мультиплексируйте потоки данных, используя select
.
Сейчас у меня нет времени, этот код - скорее набросок, как он может выглядеть. Вам потребуется правильная обработка ошибок и, возможно, хорошие сообщения об ошибках в этой функции, но если никто не придет к полному решению, я могу приложить усилия для завершения этого кода.