PHP websockets -地址已经在使用



我正在尝试在我的网站上设置PHP websockets。这在我的本地WAMP服务器上工作得很好,但在我的网站上,我一直得到一个警告:

无法绑定地址[98]:地址已在使用

我尝试了各种库,但它们都返回这个错误。

我的猜测是我正在使用的端口不是免费的。问题是,我不能访问终端,因为这是一个共享的服务器(根据phpinfo() websockets是启用的,顺便说一句),所以我不能寻找空闲端口。也尝试使用端口0 -但没有运气。

提前感谢!

编辑:例如,下面是一些使用https://github.com/Flynsarmy/PHPWebSocket-Chat

的代码
// start the server
$Server = new PHPWebSocket();
$Server->bind('message', 'wsOnMessage');
$Server->bind('open', 'wsOnOpen');
$Server->bind('close', 'wsOnClose');
// for other computers to connect, you will probably need to change this to your LAN IP or external IP,
// alternatively use: gethostbyaddr(gethostbyname($_SERVER['SERVER_NAME']))
$Server->wsStartServer($_SERVER['SERVER_ADDR'], 9300);

嗯,Bluehost网站写道:"我们阻止访问某些端口以帮助避免防火墙存在安全漏洞……购买专用IP将允许我们授权您访问您需要运行特定服务的端口。"技术支持的人跟我说的不一样。我想已经结案了。感谢大家的宝贵时间!

talhof9我在尝试配置我的共享主机服务时经历了类似的痛苦,我没有找到一个直接的解决方案来获得一个共享*AMP服务器来支持WebSockets,但我发现了一个解决方案,至少可以让你测试解决方案的商业可行性,你正在放在一起(如果这确实是你正在寻找的),而无需支付设置,配置和管理自己的VPS的所有头痛。

查看http://www.pusher.com上的一个简单的websocket部署库,它使用了他们的Node服务器。免费的沙盒版本可以让你试用它,一旦你想测试商业可行性,你可以升级到付费计划。

希望这对你有帮助!

(注意I 为push工作)

很可能您的主机提供商以某种方式禁用了PHP套接字。这是有道理的,因为PHP是用来处理网页,而不是创建守护进程,你可能使用一个常规的web托管计划(不是专用服务器)。

我会和你的主机提供商联系-支持论坛或者直接打电话给他们。

相关内容

  • 没有找到相关文章

最新更新