重用PHP websockets中的地址和端口

时间:2014-09-05 21:44:12

标签: php sockets websocket

我正在为聊天系统实施websockets。 server.php是通过带有php /www/server.php的ssh调用的,并且第一次执行正常;但如果进程停止(ctrl + z),则在尝试再次调用php /www/server.php后会显示此错误:

Warning: socket_bind(): unable to bind address [48]: Address already in use in /www/server.php

这些是 /www/server.php 文件的内容:

<?
$host = '10.10.0.103';
$port = '1337';

//Create TCP/IP sream socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

//reuseable port
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);

//bind socket to specified host
socket_bind($socket, 0, $port);

//listen to port
socket_listen($socket);

// ... etc

所以,我有两个问题:

  1. 使用FLAG停止php /www/server.php作业后,是否可以重复使用相同的地址/端口?是不是 SO_REUSEADDR 应该重复使用相同的地址/端口?

  2. 此问题的最佳做法是什么?重新启动websockets服务器可能是一项日常任务,例如:更新 /www/server.php

  3. 的内容后

    感谢您的任何提示!

0 个答案:

没有答案