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

Rya*_*hel 5 php c# hosting web-hosting websocket

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

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

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

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

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

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

kan*_*aka 5

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

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

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

我不推荐PHP for WebSocket服务器.直到最近,还没有一个PHP实现支持较旧和较新的WebSocket协议变体.旧的仍然被当前的iOS设备使用,而较新的IETF 6455版本的协议被Chrome,Firefox,IE10和基于Flash的WebSocket polyfill web-socket-js使用.

此外,您询问PHP是否仍被认为是Web服务器最受支持且最安全的.当然,PHP总是有很好的文档和示例以及非常广泛的部署,所以你可以说它得到了很好的支持.但是,就安全性而言,PHP在列表底部附近.我当然不会在PHP中从头开始重写你的应用程序.

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

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