客户端和服务器都可以在Python中同时在同一程序中运行。我想将客户端连接到外部服务器和服务器,以便同时从该外部服务器接收消息。每当我的服务器从该外部服务器接收消息时,我的客户端应相应地向该外部服务器发送消息。
以下是我试图实现的方式(只是连接部分)
import select
import socket
host = 'localhost'
portClient = 6000
portServer = 7000
backlog = 5
size = 1024
client = socket.socket()
server = socket.socket()
client.connect((host,portClient))
client.send('#JOIN')
server.bind((host,portServer))
server.listen(backlog)
running = 1
while running:
c,address = server.accept()
c.close()
client.close()
server.close()
当我运行此代码时,没有来自外部服务器的响应。 省略while循环时。我收到一条错误消息,说我们的服务器已经主动拒绝接受外部服务器。
我可以使用Python select模块或Threading模块实现这一目标吗?或者有更好的方法吗?
答案 0 :(得分:2)
TCP套接字是 双向字节流 。您可以而且应该通过同一个插槽与服务器进行所有通信。