[英]Python server client communication
我有一个客户端和一个服务器进行如下通信:
# 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
只会阻塞recv
直到客户端连接为止。
因此,您的问题是如何将数据从服务器发送到客户端? 如果建立了连接(假设您正在使用TCP),则只需在该套接字上调用send()
方法即可。 也许您想设置套接字SO_KEEPALIVE
,请参阅如何使用python脚本更改tcp keepalive计时器? 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.