如何为websocket连接握手指定URL?

时间:2016-08-14 16:18:41

标签: javascript php html5 websocket

我正在尝试使用带有php和js的websocket。我提到了许多在线资源,以了解如何建立连接。但我只是无法理解如何指定网址。

我从我引用的其中一个资源中了解到,该URL是我想要连接的服务器。

我的网站结构现在是:

root/test/test.js

test.js中,我的连接代码是:

jQuery(document).ready(function($) {
 WebSocketTest();
  function WebSocketTest()
         {
            if ("WebSocket" in window)
            {
               alert("WebSocket is supported by your Browser!");

               // Let us open a web socket
               var ws = new WebSocket("ws://mysite.localhost.com");

               ws.onopen = function()
               {
                  // Web Socket is connected, send data using send()
                  ws.send("Message to send");
                  alert("Message is sent...");
               };

               ws.onmessage = function (evt) 
               { 
                  var received_msg = evt.data;
                  alert("Message is received...");
               };

               ws.onclose = function()
               { 
                  // websocket is closed.
                  alert("Connection is closed..."); 
               };
            }

            else
            {
               // The browser doesn't support WebSocket
               alert("WebSocket NOT supported by your Browser!");
            }
         }

 }
});

当我运行上面的代码时,它会说..

1)您的浏览器支持websocket

2)连接已关闭......

3)在控制台中WebSocket connection to 'ws://mysite.localhost.com/' failed: Error during WebSocket handshake: Unexpected response code: 200

请向我解释如何建立连接以及文件或服务器。提前谢谢......

这里.. https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications

这是给出的URL,例如。有人解释/ socketserver意味着什么

var exampleSocket = new WebSocket("ws://www.example.com/socketserver", "protocolOne");

如果连接到ws://echo.websocket.org/,则会建立连接,但我不清楚这个概念..

1 个答案:

答案 0 :(得分:0)

Websocket要求您在服务器端创建端点以建立连接。

但是我只能在这里看到你代码的js部分,你有没有为你的websocket连接建立一个服务器端点?

在“ws://www.example.com/socketserver”中,socketServer表示websocket服务器端点的名称。

因此,您需要在服务器端执行某些操作才能使其正常工作。