2012-12-16 53 views
0

客户端和服务器都可以在Python中同时在同一个程序中运行。我想将客户端连接到外部服务器和服务器,以同时接收来自外部服务器的消息。每当我的服务器收到来自外部服务器的消息时,我的客户端都应相应地向该外部服务器发送消息服务器和客户端在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选择模块或线程模块来实现吗?或者,还有更好的方法?

回答

1

TCP套接字是一个双向字节流。您可以也应该通过同一个套接字与服务器进行所有通信。