我需要使用服务器才能使用HTML5的WebSockets吗?


78

使用WebSockets时,我需要编写服务器代码吗?换句话说,客户端应用程序中的JavaScript是否需要连接到专用服务器,或者我现有的Apache服务器是否可以支持此功能?

Answers:


20

服务器必须支持Web套接字。在使用HTTP进行第一次握手之后,服务器和客户端将打开套接字连接。服务器必须能够理解并接受这种握手。

在我的上一个项目中,我们使用上一个Jetty版本成功运行了Web套接字连接。

2014年2月27日:现在,我还使用XSockets.net在.net下实现了websockets,它的工作原理像一个超级按钮,您甚至不需要Web服务器(自托管)。ASP.NET的WebSocket实现也很好。


github上的cwebsocket是一个不错的小型服务器。很容易将其扩展为http服务器。
2014年

6

是的,您需要编写服务器代码。

我推荐另一个基于php的Web套接字服务器:ratchet。并且此链接是对棘轮和sockJS之间的webSocket服务器进行基准测试。

客户端和服务器端代码以及浏览器支持的完整列表,请检查此链接


5

当然,您需要一个WebSocket服务器。但是有许多不同语言的免费Websocket服务器,例如Java中的jWebSocket和.NET中的SuperWebSocket,您可以直接使用它们。


2
为什么说“当然”您需要服务器?它可以点对点操作,不是吗?
乔纳森·史塔克

@乔纳森·斯塔克 Websocket仅限客户端/服务器。他们不是对等的。对于点对点解决方案,请检查webrtc规范。
2014年

我的错。正在考虑WebRTC。对于那个很抱歉。
乔纳森·史塔克

5

目前在Google代码上针对Apache开发了一些插件...

根据定义,像普通套接字一样的websocket是客户端服务器,因此是的,您需要一台服务器。但是,还有一种等待Apache插件的方法。

我正在使用托管服务器http://www.achex.ca。它是免费的,您可以使用javascript教程学习如何使用服务器。Websockets开发的良好开端。

该服务器基本上是一台消息路由器,您可以连接到它并将其用作所有websocket客户端的集合点。

简短的回答是的,您需要一个专门的服务器,Apache不附带websockets。

替代,退房www.achex.ca


2

在这种情况下,服务器的角色将在以下情况出现:

在HTML 5中,WebSocket像fone(双向通讯)一样,不会随便说话。http协议已升级为websocket协议。(wss:// from ws://) SERVER应该能够打开双工通道,因此同意双工通信。

请通过以下链接访问:http : //www.html5rocks.com/en/tutorials/websockets/basics/

如果使用php,请查看RATCHET。

谢谢。


1

Perl Mojolicious服务器支持Web套接字,实现的长度可能只有几行。

Node.js有几个WebSocket库,但是最新,最出色,最支持最新规范的详细信息各不相同,因此请谨慎选择。

Apache Active MQ及其实现的stomp协议也值得一看。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.