WebSocket服务器的现代解决方案?

时间:2012-08-03 00:46:56

标签: c# php hosting websocket web-hosting

对于我的网站,我用C#编写了一个WebSockets服务器(最常用的代码语言),它使用Fleck并且大约有600行代码。一切似乎都很正常(有时候有点不稳定。不确定我的代码或Fleck是否有问题)。

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

我在想,也许我不得不用另一种语言(如PHP)重写它,但我对这个想法略显不确定。是否有任何流行的托管服务提供商可以支持我想要的东西?即使它们是,这是一个好主意吗?我想它可能比使用Perl,PHP或Python服务器的典型解决方案更不安全或更慢。 (很多P的)

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

哪种WebSockets实施最适合?我花了一段时间才找到Fleck,似乎有两倍的PHP衍生品,我感觉有点不知所措。另外,关于WebSockets的Stackoverflow上的很多帖子都来自两年前,当时它们不受支持。

对不起我的天真和缺乏关注我的问题,但你可以看到我有点困惑,我的行动应该是什么,我正在寻找一些见解。谢谢你的阅读。

2 个答案:

答案 0 :(得分:5)

最受欢迎的WebSocket服务器可能是Socket.IO。它在Node(Javascript)中实现,并且当WebSockets支持不可用时,它具有对长轮询/ AJAX的回退。

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

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

我不建议将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

答案 1 :(得分:-1)

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