Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 面向Web的Socket编程_Sockets - Fatal编程技术网

Sockets 面向Web的Socket编程

Sockets 面向Web的Socket编程,sockets,Sockets,我必须与接受套接字通信和消息的遗留系统进行交互。我的目标是使应用程序跨平台,但我需要能够将消息推送到客户端(即-.NET的WCF、Java的Comet),并检测用户何时关闭浏览器以破坏套接字。我已经构建了一个.NET wrapper+WCF+Silverlight的原型,但是它是如此的断开连接,以至于很难管理用户的状态,而且似乎是一个需要支持的噩梦。考虑到所有这些,我的最佳选择是什么?HTTP是无状态的。您需要为每个用户维护一个会话(通常使用)。然后,根据遗留系统的灵活性,您可以维护一个到它的会

我必须与接受套接字通信和消息的遗留系统进行交互。我的目标是使应用程序跨平台,但我需要能够将消息推送到客户端(即-.NET的WCF、Java的Comet),并检测用户何时关闭浏览器以破坏套接字。我已经构建了一个.NET wrapper+WCF+Silverlight的原型,但是它是如此的断开连接,以至于很难管理用户的状态,而且似乎是一个需要支持的噩梦。考虑到所有这些,我的最佳选择是什么?

HTTP是无状态的。您需要为每个用户维护一个会话(通常使用)。然后,根据遗留系统的灵活性,您可以维护一个到它的会话,将连接映射到按需会话,以平衡遗留系统上的负载。

如果您需要将信息推送到客户端,我建议您使用Silverlight或Java小程序并进行套接字连接。Comet或iframe长轮询是黑客攻击。他们不可靠。或者,如果你可以等待的话,可以使用WebSocket,它现在独立于HTML5,上帝知道它什么时候会成为标准