【问题标题】:PHP Websocket on WebserverWeb服务器上的PHP Websocket
【发布时间】:2012-11-26 12:21:33
【问题描述】:

几天前我从http://code.google.com/p/phpwebsocket/设置了这个WebSocket服务器

使用 Xampp 在我的本地主机上运行良好。然后,我将它上传到我在 Strato 上的网络空间,但现在我无法连接到服务器。

我更改了与我的域的套接字连接,但它不起作用

客户端.html:

var host = "ws://xxxxxxxx.com:12345/Websocket/server.php";

服务器.php:

$master  = WebSocket("xxxxxx",12345);

我已经尝试过使用不同的端口(80,443,12345,8080,8000....),使用 server.php 中的 IP 地址而不是域。

我还在 client.html 中使用了绝对路径和相对路径。

从项目页面http://code.google.com/p/phpwebsocket/ 有人建议在 server.php 中使用 0 或 0.0.0.0,但这也没有用。

在 client.html 中它只是显示:

WebSocket - 状态 0 断开连接 - 状态 3

我猜问题是 Strato 阻止了我使用 WebSockets。 是否可以在我的网络空间上运行 WebSockets?

【问题讨论】:

  • 在客户端窗口中它只向我显示:WebSocket - 状态 0 已断开连接 - 状态 3
  • 你考虑过使用node.jssocket.io吗?
  • 不,我还没有想过。如果我不能让它工作,我需要切换 anf 给 node.js 可能会尝试
  • 您确定客户端计算机也打开了相应的端口?
  • 获取network analyzer 并弄清楚网络上到底发生了什么;找出您的 PHP 错误日志在哪里,并检查它是否存在可能的问题。将您发现的任何内容添加到您的问题中,我们可能会提供帮助,但您应该咨询 Strato。

标签: php html client websocket phpwebsocket


【解决方案1】:

好的,到此结束。

我找到了一个使用我的 websockets 应用程序的解决方案,并且我解释了为什么它不能在我的共享主机解决方案上运行。

我联系了 Strato,他告诉我他们不允许在共享主机上使用 Websocket。获得类似结果的唯一方法是使用 AJAX 长池。

现在我购买了一个虚拟服务器,我的 websocket 应用现在运行良好。

感谢您的支持。

【讨论】:

    【解决方案2】:

    我敢打赌,您的主机正在阻止传入套接字的请求。您不应该在 Web 服务中运行像 phpwebsocket 这样的脚本(它本身就是一个服务器)。这让很多人感到困惑,因为 PHP 通常用于编写网页脚本,而不是用于编码守护进程。

    我这样说是因为您提到在 Xampp 中运行脚本,并将您的托管服务称为“网络空间”。

    如果是这种情况,您将不得不升级到虚拟服务器包,以便您可以运行自己的服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      相关资源
      最近更新 更多