socket_bind()无法绑定地址

Pho*_*rce 4 php linux webserver websocket

我正在尝试为我正在处理的小项目创建一个Web Socket服务器.

我已经设置了服务器(位于家中)并且端口转发了80和22.我读了这个教程:这里

每当我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
Run Code Online (Sandbox Code Playgroud)

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

$WebSocket = new socketWebSocket('MY_IP_NOT_LAN_IP',8000);
Run Code Online (Sandbox Code Playgroud)

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

var host = "ws://MY_IP_NOT_LAN:8000/server/startDaemon.php";
Run Code Online (Sandbox Code Playgroud)

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

Bas*_*tch 6

我猜这个问题出在Linux服务器上.

netstat -a -p -n在root下运行命令(例如with sudo)以了解哪个进程正在使用该端口.那么,也许做一个setsockopt的(2)SO_REUSEADDR (参见插座(7)更多).

TCP协议在几分钟内有一些指定的延迟(例如keepalive等等......).参见例如tcp(7)

我建议你读一本关于Linux系统编程的好书,比如高级Linux编程,也许还有一些关于网络编程的资料.