警告:socket_bind():无法绑定已在使用的地址

时间:2015-08-13 14:17:42

标签: php websocket bind

我有一个PHPWebSocket应用程序,我的server.php有这样的起始部分代码:

$Server = new PHPWebSocket(); 
$Server->bind('message', 'wsOnMessage');
$Server->bind('open', 'wsOnOpen');
$Server->bind('close', 'wsOnClose');
$Server->wsStartServer('127.0.0.1', 3306);

和PHPLibrary代码我喜欢这样:

    // server state functions
    function wsStartServer($host, $port) {
    if (isset($this->wsRead[0])) return false;
    if (!$this->wsRead[0] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {
        return false;

    if (!socket_set_option($this->wsRead[0], SOL_SOCKET, SO_REUSEADDR, 1)) {
        socket_close($this->wsRead[0]);
        return false;
    }
        if (!socket_bind($this->wsRead[0], $host, $port)) {
            socket_close($this->wsRead[0]);
            return false;
        if (!socket_listen($this->wsRead[0], 10)) {
            socket_close($this->wsRead[0]);
            return false;
        }

当我在本地计算机上使用它时,一切正常,但当我在ssh主机上插入时,我总是得到同样的错误:

  

警告:socket_bind():无法绑定地址[48]:已在第110行的/usr/home/rafaluf/class.PHPWebSocket.php中使用的地址

这里的问题在哪里?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试更改端口号,因为3306是MySQL默认端口号并检查ip SERVER

$ Server-> wsStartServer(' 127.0.0.1',XXXX);