5

对于我的网站,我用 C#(最喜欢的编码语言)编写了一个使用Fleck的 WebSockets 服务器,它大约有 600 行代码。一切似乎都运行良好(虽然有时有点不稳定。不确定这是我的代码还是 Fleck 的问题)。

但是,我想将它从我的计算机移动到一个实际的域,我不确定是否有任何托管服务提供商可以支持这样的 .NET 控制台应用程序。

我在想也许我必须用另一种语言(如 PHP)重写它,但我对整个想法有点不确定。是否有任何流行的托管服务提供商可以支持我正在寻找的内容?即使他们是,这是个好主意吗?我想它可能不如使用 Perl、PHP 或 Python 作为服务器的典型解决方案安全或慢。(很多P)

最后,如果重写是个好主意,我不确定我会用哪种语言编写它。已经有一段时间了,我不确定每个人还在使用什么。PHP 是否仍然被认为是 Web 服务器最受支持和最安全的?

哪种 WebSockets 实现最适合?我花了一段时间才找到 Fleck,而且 PHP 衍生产品的数量似乎是原来的两倍,我再次感到有点不知所措。此外,Stackoverflow 上很多关于 WebSocket 的帖子都是两年前没有得到支持的。

对不起,我的问题很天真,缺乏重点,但正如你所见,我对我在这里的行动方案应该是什么感到有点困惑,我正在寻找一些见解。谢谢阅读。

4

2 回答 2

5

可能最流行的 WebSocket 服务器是Socket.IO。它是在Node (Javascript) 中实现的,当 WebSockets 支持不可用时,它会回退到长轮询/AJAX。

WebSockets 最受支持的实现是 python pywebsocket项目,Mozilla 和 Google 都使用它来开发和测试他们的客户端浏览器实现。此外,pywebsocket 旨在轻松与 Apache 集成,允许您在同一端口上运行 Web 服务器和 websocket 服务。

如果您的应用程序只需要基于 WebSocket 的消息传递服务并且主要是点对点的,那么您可以考虑使用像Pusher这样的商业 WebSocket 服务。这可以使您不必为此托管和管理自己的服务器。

我不建议将 PHP 用于 WebSocket 服务器。直到最近,还没有一个 PHP 实现同时支持旧的和新的 WebSocket 协议变体。当前的 iOS 设备仍在使用旧版本的协议,Chrome、Firefox、IE10 和基于 Flash 的 WebSocket polyfill web-socket-js使用较新的 IETF 6455 版本的协议。

此外,您问 PHP 是否仍被认为是 Web 服务器最受支持和最安全的。当然,PHP 一直都有很好的文档和示例以及非常广泛的部署,因此您可以说它得到了很好的支持。然而,PHP 在安全性方面落在列表的底部附近。我当然不会用 PHP 从头开始​​重写您的应用程序。

如果您偏爱 C 类语言,您可以考虑使用libwebsockets来构建 C 或 C++ WebSocket 服务器。Andy Green 开发和维护 libwebsockets,并参与了制定标准的 IETF 工作组。

Ruby 是另一种语言/社区,它已经看到了大量的 WebSockets(可能仅次于 Node)。Ruby 最流行的 websocket 库是em-weboskcet

于 2012-08-03T17:39:31.590 回答
-1

你可以试试 node.js,它是“新的”,看起来不错。问候

于 2012-08-03T00:51:14.750 回答