Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jetty Web套接字超时_Javascript_Sockets_Websocket_Jetty - Fatal编程技术网

Javascript Jetty Web套接字超时

Javascript Jetty Web套接字超时,javascript,sockets,websocket,jetty,Javascript,Sockets,Websocket,Jetty,我正在尝试使用Jetty 9.3.0 RC建立Web套接字连接 function checkDetails(port) { var ws = new WebSocket("ws://localhost:9995/application"); ws.onopen = function(event) { console.log("onopen called..."); } ws.onerror = function(event){ cons

我正在尝试使用Jetty 9.3.0 RC建立Web套接字连接

function checkDetails(port) {

    var ws = new WebSocket("ws://localhost:9995/application");

    ws.onopen = function(event) {
      console.log("onopen called...");
    }
    ws.onerror = function(event){
      console.log('onerror called...');
    }

    ws.onmessage = function(event) {
      console.log("onmessage called..." + event.data);
    }

    ws.onclose = function(event) {
      console.log("onclose called..." + port);
      console.log(event);
      ws.close();
    }
  }
如果用于创建Web套接字连接的端口9995未被其他进程占用,则代码可以正常工作

var ws = new WebSocket("ws://localhost:9995/application");
但是,如果端口被其他进程占用,则它会继续尝试连接该端口,直到该端口被释放

我需要提供一个超时,以便如果端口在3分钟内没有响应,那么Web套接字应该释放(或停止侦听)端口并显示控制台日志


请告诉我实现此目的的最简单方法。

从客户端连接到某个web套接字。如果端口(在您的情况下为9995)可用于连接,则表示某些程序(在服务器模式下)正在侦听和响应。做一些事情-用一些数据回答。因此,如果该程序存在并应答,则可以连接到该程序;如果端口9995没有服务器侦听器,则无法连接到该程序。当您说“端口被其他进程占用”时,这意味着该进程存在并响应。这一过程将以其设计的目的作出回应。所以,在客户端,您所做的只是连接到现有的正在运行的进程,该进程在服务器模式下侦听该端口。就这样,就这样


但是,如果我们忽略您的评论,即OP只是关于客户端的,那么我的第一个建议是查看服务器配置,并检查它是否处于多线程模式,是否可以一次应答和处理多个请求。您所描述的看起来像是一个单线程进程,它只处理一个请求,并且在当前请求完成时可以回答下一个请求。这听起来像是“进程被占用”。但既然评论坚持我们只讨论客户端,那么这种猜测就没有必要了。

你能澄清你的问题中哪些部分涉及客户端,哪些部分涉及服务器吗?这篇文章中提到的所有内容都涉及客户端。。。