与"ws://.."的 WebSocket 连接失败:连接建立时出错:net::ERR_CONNECTION_REFUSED



从过去4个小时开始,我一直在搜索这个简单的套接字连接代码,并得到错误。我也换了端口,但什么都不起作用。

 //create a new WebSocket object.
        var wsUri = "ws://localhost:9000/demo/server.php";  
        websocket = new WebSocket(wsUri);
    websocket.onopen = function(ev) { // connection is open 
        $('#message_box').append("<div class="system_msg">Connected!</div>"); //notify user
    }
    $('#send-btn').click(function(){ //use clicks message send button   
        var mymessage = $('#message').val(); //get message text
        var myname = $('#name').val(); //get user name
        if(myname == ""){ //empty name?
            alert("Enter your Name please!");
            return;
        }
        if(mymessage == ""){ //emtpy message?
            alert("Enter Some message Please!");
            return;
        }
        //prepare json data
        var msg = {
        message: mymessage,
        name: myname,
        color : '<?php echo $colours[$user_colour]; ?>'
        };
        //convert and send data to server
        websocket.send(JSON.stringify(msg));
    });

错误:

到"ws://localhost:9000/demo/server.php"的WebSocket连接失败:建立连接时出错:net::ERR_connection_REFUSED

PHP

$host = 'localhost'; //host
$port = '9000'; //port
$null = NULL; //null var
//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);
//create & add listning socket to the list
$clients = array($socket);

您没有创建websocket服务器。这正是您所需要的:http://socketo.me/

让websocket在PHP中正常工作既烦人又麻烦(尤其是如果你是初学者)。你可能有点过头了。

您的PHP使用常规(原始)tcp/ip套接字连接。Websockets是一种具有特定握手和数据包帧的协议。。。如果服务器不说话;Websockets";,客户端将引发错误。

p.S.

PHP最初被设计为HTTP连接的web应用程序脚本语言,通常使用CGI快速返回一个字符串,该字符串充当要发送的文件/html。

从本质上讲,PHP进程的寿命是更短的。

我不建议使用PHP来编写websocket服务器,尽管您可以查看Ratchet,这是一个PHP websocket库,可以帮助您使用PHP构建websocket应用程序。

我建议您在您的Websocket项目中考虑Ruby、node.js或Python——当您深入研究您的项目时,这将为您省去很多麻烦,而且您可能会在一路上遇到任何挑战时获得更好的社区支持。

尝试关闭所有防病毒软件,可能会阻塞套接字端口以进行保护。

相关内容

  • 没有找到相关文章

最新更新