我一直在构建一个简单的客户端/服务器应用程序,但服务器似乎是多余的,因为我只使用服务器将信息传递给另一个客户端。所以我宁愿选择点对点。
两个对等体是否可以打开套接字并不断收听,同时还能够动态发送给其他对等体?
同行1
def receive():
host = "127.0.0.1"
port = 5002
s = socket.socket()
s.bind((host, port))
s.listen(1)
while True:
c, addr = s.accept()
while True:
data = c.recv(1024)
if not data:
break
print(data)
c.send(bytes("Ordre registreret", "utf-8"))
c.close()
def send():
host = "127.0.0.1"
port = 5001
s = socket.socket()
s.connect((self.host, self.port))
s.send("Test", "utf-8")
data = s.recv(1024)
data = str(data, "utf-8")
s.close()
同行2
def receive():
host = "127.0.0.1"
port = 5001
s = socket.socket()
s.bind((host, port))
s.listen(1)
while True:
c, addr = s.accept()
while True:
data = c.recv(1024)
if not data:
break
print(data)
c.send(bytes("Ordre registreret", "utf-8"))
c.close()
def send():
host = "127.0.0.1"
port = 5002
s = socket.socket()
s.connect((self.host, self.port))
s.send("Test", "utf-8")
data = s.recv(1024)
data = str(data, "utf-8")
s.close()
所以基本上两个几乎相同的对等体,但不同的端口用于绑定和连接。主人可以是同一个人吗?另外,如果这种方式可行,我是否必须使用线程来允许其他功能,因为接收方法将处于无限循环监听中?