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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为websocket连接握手指定URL?相关的知识,希望对你有一定的参考价值。

我正在尝试使用带有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

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

here..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/,则建立连接,但我不清楚这个概念..

答案

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

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

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

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

以上是关于如何为websocket连接握手指定URL?的主要内容,如果未能解决你的问题,请参考以下文章

websocket握手代码期间无法连接signalR错误:400

HTML5 / PHP WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:200

如何为 AndroidAsync websockets 设置超时?

NextJS,Express,WebSocket 握手期间出错:意外响应代码:200

如何为 Autodesk Forge App 指定多个回调 URL?

Django:WebSocket 握手期间出错:意外的响应代码:500