gpt4 book ai didi

php - socket_bind() 无法绑定(bind)地址

转载 作者:IT王子 更新时间:2023-10-29 00:52:59 27 4
gpt4 key购买 nike

我正在尝试为我正在进行的一个小项目创建一个 Web Socket 服务器。

我已经设置了服务器(位于家中)并将端口转发到 80 和 22。我阅读了本教程:here

每当我通过 ssh 进入我的服务器运行“startDarmon.php”时,我都会收到以下错误:

PHP Warning:  socket_bind(): unable to bind address [98]: Address already in use in  
/var/www/server/socket.class.php on line 48
2013-02-23 14:15:38 System: Socket bound to localhost:8000.
2013-02-23 14:15:38 System: Start listening on Socket

我认为这就是阻止我的客户端连接到服务器的原因。所以在 startDarmon.php 文件中我有:

$WebSocket = new socketWebSocket('MY_IP_NOT_LAN_IP',8000);

在我的客户端文件中,我有:

var host = "ws://MY_IP_NOT_LAN:8000/server/startDaemon.php";

有没有人对为什么这不允许我建立连接有任何建议?

最佳答案

我猜问题出在 Linux 服务器上。

在 root 下运行 netstat -a -p -n 命令(例如使用 sudo)以了解哪个进程正在使用该端口。然后也许做一个setsockopt(2)使用 SO_REUSEADDR(有关更多信息,请参阅 socket(7))。

TCP 协议(protocol)有一些指定的延迟(以分钟为单位)(例如保持事件等)。参见例如tcp(7)

我确实建议阅读一本关于 Linux 系统编程的好书,例如 Advanced Linux Programming也许还有一些关于网络编程的 Material 。

关于php - socket_bind() 无法绑定(bind)地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041518/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com