PHP websockets-地址已在使用中

PHP websockets-地址已在使用中,php,websocket,phpwebsocket,Php,Websocket,Phpwebsocket,我正在尝试在我的网站上设置PHP WebSocket。这在我的本地WAMP服务器上非常有效,但在我的网站上我不断收到警告: 无法绑定地址[98]:地址已在“”中使用 我尝试了各种库,但它们都返回此错误 我的猜测是,我在中使用的端口不是免费的。问题是,我无法访问终端,因为这是一个共享服务器(根据phpinfo()websockets已启用,顺便说一句),所以我无法查找免费端口。我也尝试使用端口0-但没有运气 提前谢谢 编辑: 例如,这是一些使用 Bluehost site写道:“我们阻止对某些端口

我正在尝试在我的网站上设置PHP WebSocket。这在我的本地WAMP服务器上非常有效,但在我的网站上我不断收到警告:

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

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

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

提前谢谢

编辑: 例如,这是一些使用


Bluehost site写道:“我们阻止对某些端口的访问,以帮助避免防火墙出现安全漏洞……购买专用IP将允许您访问运行特定服务所需的端口。“.技术支持人员告诉我不是这样的。我想案子已经结案了。谢谢大家抽出时间

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


我会向您的托管服务提供商-支持论坛登记,或者直接打电话给他们。

talhof9我在尝试配置共享托管服务时也经历了类似的痛苦,我没有找到一个直接的解决方案来获得支持WebSocket的共享*AMP服务器,但我找到了一个解决方案,它至少可以让您测试您正在组装的解决方案的商业可行性(如果这确实是您正在寻找的),而无需为设置、配置和管理您自己的VP而支付所有的费用

查看使用节点服务器的easy websocket部署库。免费的沙盒版本可以让你四处玩,让它工作,一旦你想测试商业可行性,你可以升级到付费计划

希望这有帮助


(注意I不为Pusher工作)

通常,您必须是特权用户才能使用10000以下的端口。因为它是共享主机,所以您不太可能拥有特权,所以我认为有可能获取该错误消息。尝试一个10000以上的端口,看看它是否有效。我得到同样的错误:'(最多有65535个端口。任何数字较小的端口都可能正在使用。您尝试了多少个?尝试了40000以上的随机端口,看看是否仍然存在错误。@cf突破10000以下?我想您的意思是不是1024。或者是主机特定的?我尝试了一些。我会继续尝试,但目前为止,没有任何效果。这可能不是端口问题m、 …我正在使用$\u SERVER['SERVER\u ADDR']作为IP。这样可以吗?即使在phpinfo()时说套接字已启用?这可能是防火墙封锁。即使你确实设法建立了套接字和守护进程,最终他们也会发现并停止你的脚本。另外,一定要检查一下:他们说fsockopen也可以在共享服务器上工作。不确定这意味着什么扫描你发布创建套接字连接的实际代码(是您的自定义代码还是库启动的代码)?当然,我将其添加到了问题中
// 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);