如何在 Python 中实现 SocketPairs?

问题描述

到目前为止,我一直在使用 Sockets。一个用于发送和接收的套接字。有人告诉我这很愚蠢,但是我无法从头开始找到在客户端和服务器上使用套接字对的正确方法。我会给出我目前的方法,希望有人能告诉我如何用它来做 socketpairs。顺便说一下使用TCP。

#client
import socket

my_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip =  "127.0.1.1"
port = 22222
my_socket.connect((ip,port))
#server
import socket
import multiprocessing

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip_address = socket.gethostbyname(hostname)
port = 22222
s.bind((ip_address,port))
s.listen(20)

connections=[]
connection_threads=[]
while True:
    clientsocket,address = s.accept()
    #does this create a new socket for every incoming connection by the way?
    new_client = client.Client(address,clientsocket)
    connections.append(new_client)
    new_process = multiprocessing.Process(target=client_butler.connect_client,args=(new_client,))
    new_process.start()
    connection_threads.append(new_process)

我的最终目标是服务器为每个客户端都有一个套接字对。我知道这可能不是很好的实现,因为它完全忽略了错误处理等,但我将来会考虑这一点,因为我要做的就是自学。所以问题是,我如何将其转换为使用 socketpairs?

我遇到的问题:

  • 如何像在客户端中一样通过 my_socket.connect 连接套接字对?
  • 如果我只是单独连接两个套接字,我如何在服务器中“重新组装”这对
  • 我这样做是否正确,还是完全错误的方法?

另外:我检查了 this,但即使我可以复制代码并且它会起作用,我也不知道 为什么它会起作用,这不是我想要的,我不希望这个工作我也想从中学习。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)