草庐IT

websocket_closed

全部标签

grails - Grails 应用程序中有许多持久的 CLOSE_WAIT 连接

我在ApacheTomcat7上部署了一个Grails应用程序。上周该应用程序由于线程池为空而关闭,但没有那么多用户来实现这一点。当我查看服务器时,我发现端口8080上有很多未关闭的java线程和tcp进程-处于CLOSE_WAIT状态。Screenshotofnetstatfor8080port该应用程序通过groovy.net.http.RestClient与远程MSSQL数据库以及远程CRM系统进行通信。作为网络服务器,我们使用Nginx。我查看了所有日志(tomcat、nginx访问日志),没有发现任何奇怪的事件。有人在类似技术上遇到过这样的问题吗?Grails版本是2.3.7

c++ - 断开连接后重新连接 boost beast (asio) websocket 和 http 连接时出错

我正在创建一个使用sslWebsocket连接和sslHttp(保持事件)连接连接到服务器的客户端应用程序,我正在使用boost::beast包来执行相同的操作.为了检测死连接,我实现了一个简单的乒乓机制。这些都很好,但是在处理ping-pong故障时出现了问题。问题如下:为了测试我的代码,我连接到远程服务器,发送了一些消息,然后关闭了我的wifi。正如预期的那样,在一段时间后它检测到它没有收到来自服务器的任何消息,它尝试为http连接执行async_shutdown并为websocket连接执行async_close.我注意到的第一件事是,在wifi恢复之前,这两个调用都会阻塞它们各

php - TCP CLOSE_WAIT 连接状态 - 未知原因

为什么socket_shutdown($socket,2);有时会使套接字处于CLOSE_WAIT状态,尽管通过执行socket_close($socket);关闭套接字后立即关闭套接字;? 最佳答案 事实并非如此。CLOSE_WAIT是由在本地应用程序关闭此端之前收到来自对等方的传入关闭引起的。当应用程序关闭此端时,状态转换。关机与它无关。 关于php-TCPCLOSE_WAIT连接状态-未知原因,我们在StackOverflow上找到一个类似的问题: ht

python - 客户端 Python 在没有 socket.close() 的情况下关闭我的 TCP 连接

我正在用Python开发一个TCP客户端,我遇到了下一个问题。我连接到服务器,我向它发送一些数据,它用预期的数据响应我,但在此之后我自己的应用程序(客户端)发送[FIN,ACK](用wireshark检查)。这是我的客户端应用程序:try:sock=socket(AF_INET,SOCK_STREAM)sock.bind((my_ip,my_port))sock.connect((sendAddress,sendPort))sock.send(joinRequest)joinResponse=sock.recv(18)printjoinResponseexceptsocket.time

sockets - 为什么即使我没有使用 close() 函数,tcp 连接也会关闭?

我使用ctrl+c来终止套接字程序而不是close()函数。TCP连接可以在一段时间后关闭。内核是如何处理这种情况的?我以为只有close()函数才能关闭tcp连接。 最佳答案 您可以关闭套接字。对方可以关闭连接。 关于sockets-为什么即使我没有使用close()函数,tcp连接也会关闭?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25930153/

c - close() 和 exit() 调用后的 TCP 连接数

pid_tpid;intlistenfd,connfd;listenfd=socket(...);bind(listenfd,...);listen(listenfd,5);connfd=accept(listenfd,...);if((pid=fork())==0){close(listenfd);doit(connfd);/*processestheclientsrequest*/close(connfd);exit(0);}wait(...)等待函数调用后会有多少个TCP连接?我认为它应该是0,但我真的不知道close()函数的作用。它是关闭每个进程还是只关闭一个进程(子进程或父

android - Websocket 根据操作系统给出不同的数字

我正在做一个小测试,我使用ws每0.5秒从Node.js服务器向客户端发送一个短字符串(4-8字节).客户端使用iOS/Android或网络浏览器。客户端不会将任何内容发送回服务器,我想除了TCP-ACKS之外。奇怪的是,当我使用XCode网络报告在iOS中调试应用程序时,我只能看到客户端在连接建立时发送了一些字节(大约500),可能是在HTTP握手期间。剩余时间零数据从设备中传出,只有数据传入。在Chrome中接收数据并使用Nettop跟踪数据时会获得相同的结果。令人困惑的是,在Android上,当使用Androidprofiler/BatteryHistorian/TrafficS

sockets - 服务器关闭连接时客户端是否也需要调用close

因此,想象一下客户端从套接字读取数据并返回0的情况。这意味着EOF或服务器已关闭连接。客户端是否也应该关闭这个文件描述符?如果客户端不调用关闭是否会导致某些文件描述符泄漏? 最佳答案 是的,您仍然需要关闭它。即使远程主机已关闭连接,该句柄仍存在于您的计算机上。即使连接本身已关闭,您仍然可以引用套接字(对其调用各种方法,包括read()。调用close()后,句柄已经完全消失,所以调用方法比简单地返回0更有可能导致段错误。要清楚。调用close()有两个Action。它发送适当的数据包来告诉远程主机套接字已关闭。它清除与该套接字关联的

sockets - 为什么代码显示 "Error 354 (net::ERR_CONTENT_LENGTH_MISMATCH): The server unexpectedly closed the connection."

我正在用JAVA构建我的HTTPWEB服务器。如果客户端请求任何文件并且该文件在服务器的那个地方,那么服务器将该文件提供给客户端。我也做了这个代码,它工作正常。显示上述功能的代码部分,Filetarg=[CONTAINSONEFILE]PrintStreamps;InputStreamis=newFileInputStream(targ.getAbsolutePath());while((n=is.read(buf))>0){System.out.println(n);ps.write(buf,0,n);}但是现在为了优化我的代码,我用下面的代码替换了这段代码,InputStreami

tcp - 使用 WebSocket ping 应用程序数据

WebSocketping除了将其标识为ping帧的操作码之外,帧可能包含也可能不包含应用程序数据。据我了解,ping/pong的目的是防止TCP连接超时。这些帧包含尽可能小的虚拟数据(即操作码),并根据需要尽可能频繁地发送以表明连接仍在使用中。还有更多吗?如果我从不在ping帧中发送应用程序数据,我会错过任何东西吗?例如,如果我在ping中发送token,以便在ping和pong之间建立对应关系,以便在发送ping和接收到相应的pong之间的时间来判断连接质量,我会滥用ping/pong吗? 最佳答案 Ping和pong帧允许负载