Python服务器客户端通信

时间:2014-12-12 04:48:40

标签: python client server

我有一个客户端和服务器通信如下:

# server

running = 1 

    while running:
        data = self.client.recv(self.size) 
        self.client.send(str(self.vel)) 

# client

def runit(self):

    self.s.send('test') 
    data = float(self.s.recv(self.size))
    self.master_.after(5,self.runit)

所以两者都在无限循环中,虽然这确实传输数据,但对我的应用程序来说效率很低。我正在制作游戏,我希望服务器在特定实例中向客户端发送数据,我也希望客户端在该实例接收该数据。类似于回调的东西会起作用。不幸的是,我找不到任何适合我需要的东西。

1 个答案:

答案 0 :(得分:0)

首先,我没有看到任何东西"低效",在这种情况下,while循环非常常见,而且正如评论所说,loop将只会阻塞{{ 1}}直到客户端连接。

那么您的问题是如何将数据从服务器发送到客户端?如果建立了连接,假设您正在使用TCP,那么只需在该套接字上调用recv方法。也许您想设置套接字send(),请参阅How to change tcp keepalive timer using python script?