我试图在我的网站上设置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将允许我们授予您访问运行所需端口的权限您的特定服务。"。技术支持人员告诉我不然。我想案件已经结案了。谢谢大家的时间!
答案 0 :(得分:0)
很可能您的托管服务提供商已经以某种方式禁用了PHP套接字。这是有道理的,因为PHP用于处理网页而不是创建守护进程,并且您可能使用常规的Web托管计划(而不是专用服务器)。
我会向您的托管服务提供商 - 支持论坛办理登机手续,或者只是打电话给他们。
答案 1 :(得分:0)
talhof9我在试图配置我的共享托管服务时经历了类似的痛苦,我没有找到一个直接的解决方案来获得共享的* AMP服务器来支持WebSockets,但我找到了一个至少让你测试的解决方法您正在整理的解决方案的商业可行性(如果这确实是您正在寻找的),而无需为设置,配置和管理您自己的VPS而头痛。
查看http://www.pusher.com以获取使用其节点服务器的简单websocket部署库。免费的沙箱版本让您可以随意使用它,一旦您想测试商业可行性,您就可以升级到付费计划。
希望这有帮助!
(注意我不为Pusher工作)