【发布时间】:2010-12-04 12:58:45
【问题描述】:
使用 WebSockets 时,我需要编写服务器代码吗?换句话说,我的客户端应用程序中的 JavaScript 是否需要连接到专门的服务器,或者我现有的 Apache 服务器是否可以支持这一点?
【问题讨论】:
使用 WebSockets 时,我需要编写服务器代码吗?换句话说,我的客户端应用程序中的 JavaScript 是否需要连接到专门的服务器,或者我现有的 Apache 服务器是否可以支持这一点?
【问题讨论】:
服务器必须支持网络套接字。在 HTTP 中第一次握手之后,服务器和客户端打开一个套接字连接。服务器必须能够理解并接受此握手。
在我的上一个项目中,我们使用最新的 Jetty 版本非常成功地运行了 Web 套接字连接。
2014 年 2 月 27 日: 现在,我还在.net 下使用 XSockets.net 实现 websockets,并且工作起来就像一个魅力,你甚至不需要网络服务器(自托管)。 ASP.NET 的 WebSocket 实现也很好用。
【讨论】:
在这种情况下,服务器的角色就来了:
在 HTML 5 中,WebSocket 类似于 fone(2 路通信)而不是步话机。
http 协议升级为 websocket 协议。(wss:// from ws://)
SERVER 应该能够打开双工通道,因此同意双工通信。
请通过此链接:http://www.html5rocks.com/en/tutorials/websockets/basics/
如果使用 php,请查看 RATCHET。
谢谢。
【讨论】:
目前正在为 Apache 的谷歌代码开发一些插件...
根据定义,像普通套接字一样的 websocket 是客户端-服务器,所以是的,你需要一个服务器。但是,还有一个等待 Apache 插件的替代方法。
我正在使用托管服务器 http://www.achex.ca。它是免费的,你有关于如何使用服务器的 javascript 教程。 websockets 开发的良好开端。
服务器基本上是一个消息路由器,您可以连接到它并将其用作所有 websocket 客户端的交汇点。
简短回答:是的,您需要专门的服务器,Apache 不附带 websockets。
或者
替代方案,查看www.achex.ca。
【讨论】:
Perl Mojolicious 服务器支持 Web 套接字,实现只需几行代码。
Node.js 有多个 WebSocket 库,但最新、最强大、最支持最新规范的细节各不相同,因此请谨慎选择。
Apache Active MQ 以及它实现的 stomp 协议也值得一看。
【讨论】:
当然你需要一个 WebSocket 服务器。但是有很多不同语言的免费websocket服务器,比如Java中的jWebSocket和.NET中的SuperWebSocket,你可以直接使用它们。
【讨论】: