【问题标题】:Websocket - "Address already in use"Websocket - “地址已在使用中”
【发布时间】:2023-03-08 17:01:01
【问题描述】:

我使用了这篇文章中包含的文件:http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/。然后我将它们注入我的 codeigniter 实验室,但我总是得到一个错误:

Message: socket_bind() [function.socket-bind]: unable to bind address [48]: Address already in use

JS 部分告诉我:

Connecting...
Connected.
Disconnected.

我使用了建议的“gethostbyaddr(gethostbyname($_SERVER['SERVER_NAME'])”-方法,还尝试了 ip 没有任何结果。

我想我有一个逻辑错误。我是否需要先关闭服务器端套接字才能重新打开它?我还尝试运行“开箱即用”版本(使用正确的主机名),但仍然没有运气。

感谢您的帮助!

直播:http://labs.addictivity.de/websockets/

【问题讨论】:

  • 你选择了哪个端口让服务器监听?当你运行netstat -anp | grep portnumber 时,你看到了什么输出?
  • 您可能有一个 php 进程仍在运行相同的脚本,并且它正在侦听该端口,从而阻止了相同脚本的其他实例绑定。杀死这些进程(如果你不知道如何重新启动)。仅供参考,您不想通过您的网络服务器运行充当服务器的脚本。直接通过 php 可执行文件运行它(通过命令行)。
  • 感谢您的建议。我正在尝试在我的网络空间上运行脚本,所以我没有太多选择。我会把整个东西移到我的服务器上再试一次。

标签: php javascript codeigniter websocket


【解决方案1】:

今天我破案了。我的问题是服务器确实在没有超时的情况下运行,但是代码有问题。所以我不能在同一个端口上设置一个新的。选择另一个,瞧。还变得足够聪明,可以在测试时设置和超时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 2014-08-11
    • 2013-09-08
    相关资源
    最近更新 更多