我有一个客户端和一个服务器按如下方式通信:
# 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)
所以两者都在无限循环中,虽然这确实传输数据,但对我的应用程序来说效率低下。我正在制作一个游戏,我希望服务器在特定的实例中向客户端发送数据,我也希望客户端在该实例中接收数据。类似回调的方法也可以。不幸的是,我找不到适合我需要的东西。在
首先,我没有看到任何“低效”的东西,while循环在这种情况下非常常见,正如注释所说,}中阻塞,直到客户端连接。在
loop
将在{所以你的问题是如何将数据从服务器发送到客户机?如果建立了连接,假设您使用的是TCP,那么只需在该套接字上调用
send()
方法。也许你想设置套接字SO_KEEPALIVE
,见How to change tcp keepalive timer using python script?。在相关问题 更多 >
编程相关推荐