使用WebSockets时,是否需要编写服务器代码?换句话说,我的客户端应用程序中的JavaScript是否需要连接到专用服务器,或者我现有的Apache服务器是否会支持这个?
答案 0 :(得分:20)
服务器必须支持Web套接字。在HTTP中进行第一次握手后,服务器和客户端打开套接字连接。服务器必须能够理解并接受此握手。
在我的上一个项目中,我们使用最后一个Jetty版本运行了非常成功的Web套接字连接。
27/02/2014: 现在我也在.net下使用XSockets.net实现websockets并且像魅力一样工作,你甚至不需要web服务器(自托管)。 ASP.NET的WebSocket实现也很有用。
答案 1 :(得分:7)
是的,您需要编写服务器代码。
我推荐另一个基于php的Web套接字服务器:ratchet。 而link是在棘轮和sockJS之间对webSocket服务器进行基准测试。
完整的客户名单&服务器端代码和浏览器支持请查看此link
答案 2 :(得分:5)
当然你需要一个WebSocket服务器。但是有许多不同语言的免费websocket服务器,比如Java中的jWebSocket和.NET中的SuperWebSocket,你可以直接使用它们。
答案 3 :(得分:5)
目前正在针对Apache的Google代码开发一些插件......
根据定义,像普通套接字这样的websockets是客户端服务器所以是的,你需要一个服务器。但是,有一种替代等待Apache插件的方法。
我正在使用托管服务器http://www.achex.ca。它是免费的,你有关于如何使用服务器的javascript教程。 websockets开发的良好开端。
服务器基本上是一个消息路由器,您可以连接到它并将其用作所有websocket客户端的会合点。
简答:是,您需要专门的服务器,Apache不附带websockets。
或者替代< / strong>,请查看www.achex.ca。
答案 4 :(得分:2)
在这种情况下,服务器的角色来自:
在HTML 5中,WebSocket就像一个fone(2-way comm。)而不是walky-talky。
http协议升级为websocket协议。 (wss:// from ws://)
SERVER应该能够打开双工通道,因此可以通过双工通信进行同步。
请浏览此链接:http://www.html5rocks.com/en/tutorials/websockets/basics/
如果使用php,请查看RATCHET。
感谢。
答案 5 :(得分:1)
Perl Mojolicious服务器支持Web套接字,实现只需几行。
Node.js有几个WebSocket库,但最新,最大,最支持最新规范的细节各不相同,所以请谨慎选择。
Apache Active MQ以及它实现的stomp协议也值得一看。