当前位置: 首页 > 知识库问答 >
问题:

Websocket服务器运行正常,但无法从客户端连接(我应该使用什么url?)

邵昆琦
2023-03-14

这对任何使用过websocket和nodejs的人来说都非常简单。我已经创建了一个名为ws\u server的websocket服务器。js并将其放在C:\Program Files(x86)\nodejs中,我在其中安装了nodejs框架。我启动了服务器,它正在运行,它说它正在监听端口8080。到目前为止还不错,我已经运行了服务器。

现在我只想从客户端代码连接到它,这样我就可以使用事件监听器等捕捉事件了。问题是,令人尴尬的是,我不知道使用什么URL连接到我的websocket服务器。

function init() { 
    testWebSocket(); 
}  

function testWebSocket() { 
    websocket = new WebSocket("ws://localhost:8080/"); // WHAT URL SHOULD BE USED HERE? 
    websocket.onopen = function(evt) { alert("OPEN") }; 

    websocket.onclose = function(evt) { alert("CLOSE") }; 
    websocket.onmessage = functhtml" target="_blank">ion(evt) { alert("MESSAGE") }; 
    websocket.onerror = function(evt) { alert("ERROR") }; 
}  

function doSend(message) { 
    // this would be called by user pressing a button somewhere
    websocket.send(message); 
    alert("SENT");
}  

window.addEventListener("load", init, false);  

当我使用ws://localhost:8080唯一触发的事件是CLOSE和ERROR。我无法让客户端连接。我一定错过了一些非常简单的东西。例如,我是否需要在IIS中设置我的nodejs文件夹,然后将其用作URL?

只是重申一下,websocket服务器运行良好,我只是不知道使用哪个URL从客户端连接到它。

编辑:websocket服务器报告以下错误。客户端未请求指定的协议。

共有2个答案

靳彦
2023-03-14

我看到了同样的错误,整个web服务器都坏了。添加协议修复了它,但让我想知道为什么它是以这种方式实现的。我的意思是,一个错误的请求不应该导致服务器宕机。

您肯定需要将其封装为try/catch,但是这里提供的示例代码https://www.npmjs.com/package/websocket(2019-08-07)没有。这个问题很容易避免。

司寇昱
2023-03-14

我想我已经通过做下面的事情使它工作了。

var websocket = new WebSocket("ws://localhost:8080/","echo-protocol");

问题是我需要指定一个协议。至少现在我得到了onopen事件。...如果没有别的

 类似资料:
  • 我无法连接到我的节点。js服务器。当通过节点使用http web服务器在本地运行它时,它工作得很好,但是当连接到外部时,它会加载<code>socket.io。js文件很好,但当尝试使用套接字时,它会从URL中删除端口,无法连接。 而不是在网络请求中执行此操作: http://external-domain.com:3000/socket.io/?EIO=3 它是这样做的: http://exte

  • websocket客户端(使用Autobahn/Python和Twisted)需要连接到websocket服务器:客户端需要向服务器提供其客户端证书,客户端需要检查服务器的证书。例如,这些证书是在Kubernetes minikube安装过程中创建的。特别地: 服务器证书(据我所知为X509格式) 客户端证书~/。minikube/客户。按键 我已经检查过,我可以成功地使用这些证书密钥使用发出库伯

  • 无法连接到本链接中提到的greeter grpc服务-https://docs . Microsoft . com/en-us/aspnet/core/tutorials/grpc/grpc-start?欢迎客户端的view=aspnetcore-3.0,它是使用grpc.core库(< code>Grpc)从. net framework应用程序编写的。核心2.24.0和< code>Grpc。

  • 我试图使用Python Twisted Authobhan websocket客户端打开客户端(每台机器有60K端口限制)的并发websocket连接。但是我无法使用下面的代码打开不超过20K的连接: 我在一个循环中使用了“reactor.connecttcp”,使用Twisted打开并发websocket连接是否正确? 让我知道。

  • 我制作了一个FTP客户端(被动),它无法连接到服务器。我使用的FTP服务器是Filezilla;我只是用它来测试。每次我运行java程序(FTP客户端)时,Filezilla都会断开连接,并在Eclipse中出现以下错误: 这是FTP客户端: 这是我连接的程序: 还尝试编写我的lan ip而不是

  • 我有一个示例Spring启动应用程序来运行图形QL服务器,具有作为客户端,我的pom有以下依赖项: 当我尝试从客户端连接时,出现以下错误: 狩猎决议好心建议。 我还有几个问题: 我应该使用SimpleGraphQLHttpServlet将请求路由到endpoint吗 我正在React UI上使用apollo client,那么它是强制使用apollo server还是spring boot可以工作