2012-12-04 46 views

回答

1

如果您有足够的服务器资源 您可以考虑使用websockets。

每台PC都可以打开服务器的套接字。 当你打开套接字时,你需要发送到服务器,电脑的唯一ID。 然后,您需要将此ID存储在某个数据库或文件中,该数据库或文件将包含所有在线PC和套接字。

然后,服务器将知道哪些电脑在线以及使用哪个套接字与此电脑进行通信。在此之后,您可以根据您的应用程序向PC发送所需的任何信息。

1

这可以用几种方法实现。一种常见的方式是打开连接并阻止客户端应用程序中的读取。收到的东西看起来像从服务器推送。然后你处理推送并做另一个阻塞读取。

另一种选择是定期检查网络服务器上是否有适合您的东西。您可以设置足够频繁的重试间隔,以便从应用程序的角度看起来像是实时推送。

1

如果您使用HTTP,我认为最聪明的方法是放弃实时要求并使用每5秒轮询服务器的线程。始终保持打开HTTP连接是非常昂贵的,因为它阻止了请求处理器线程并限制了您可以拥有的客户端数量。

如果您确实需要接近实时的更新(通常不是这种情况),您可能还会考虑转向某种注册机制。您必须在客户端上打开服务器,并在客户端向服务器注册地址后让服务器推送更新。

相关问题