我使用 PHP、JS、HTML、CSS。如果这是最好的选择,我愿意学习 ruby 或 python。
我的下一个项目将涉及从服务器向用户提供实时数据,反之亦然。我在我的共享服务器上拥有 shell 访问权限,但我不确定是否可以访问端口。是否可以在共享主机帐户上使用 websockets 或任何其他有效的服务器-客户端连接,如果可以,我需要做什么?
我使用 PHP、JS、HTML、CSS。如果这是最好的选择,我愿意学习 ruby 或 python。
我的下一个项目将涉及从服务器向用户提供实时数据,反之亦然。我在我的共享服务器上拥有 shell 访问权限,但我不确定是否可以访问端口。是否可以在共享主机帐户上使用 websockets 或任何其他有效的服务器-客户端连接,如果可以,我需要做什么?
为了获得最佳性能和完全控制您的设置,您需要“自己的”服务器。
今天有大量的虚拟服务器提供商,这意味着您可以完全控制您的 IP,但物理服务器仍然在许多客户端之间共享,这意味着更便宜的价格和更大的灵活性。
我建议使用Amazon EC2的免费套餐计划,您可以随时在免费期后辞职。他们有许多地理位置可供选择。
欧洲另一家让我满意的供应商是Tilaa
您可能可以在虚拟主机讨论论坛上找到更多适合您需求的替代方案
直到几周前,websockets 部署需要在不同端口上运行的独立服务器,或者像 varnish/haproxy 这样的服务器端代理来监听端口 80 并重定向正常的 http 流量。最新的 nginx 版本添加了对 websockets 的内置支持,但除非您的托管服务提供商使用它,否则您就不走运了。(请注意,我对这个 nginx 功能没有个人经验)
就我个人而言,我发现对于大多数应用程序,websockets 可以替换为服务器发送的事件——一个非常轻量级的协议,它基本上是另一个在服务器端保持打开状态的 http 连接,并发送带有由双换行符分隔的消息的明文流。
大多数体面的浏览器都支持它,但由于这不包括 Internet Explorer,所以这里和这里都有可用的 polyfill
这涵盖了连接的一侧,通常使用长轮询实现的一侧。另一个方向可以用 XHR 以通常的方式覆盖。最终结果与 websockets IMO 非常相似,但客户端->服务器消息的延迟更高。