草庐IT

close_fds

全部标签

C++ MySQL 连接器无法断开 sql::Connection close() 调用上的 TCP 连接

我在终止使用MYSQLC++Connector1.1.3创建的MYSQL连接时遇到困难sql::Connection*con;/*CreatingConnection*///..../*ExecutingStatements*///..con->close();//ThisshouldterminatetheTCPConnection但即使在调用close()函数后,与MYSQL服务器的TCP连接也不会终止。它只会在应用程序进程终止后断开连接。仔细查看后,我发现了以下内容:1>//checkedclosed()functionofMySQL_ConnectionClassif(!int

c# - tcp 服务器 : How to send something and close the TCP connection afterwards

我正在使用在我的C#应用程序中给出的tcpServer:-http://www.codeproject.com/Articles/488668/Csharp-TCP-Server它有一个TcpServer类,可以打开一个端口并开始监听它。我通过TcpServer类提供的OnDataAvailable事件处理程序接收数据。问题是,客户端期望并依赖于tcp服务器关闭连接。在关闭连接之前,(有条件地)我想将一些数据发送回客户端。这是我为实现相同目标而编写的内容。staticvoidmyServer_OnDataAvailable(TcpServerConnectionconnection){

c++ - 在 linux 中调用 socket.close 后 socket.read_some 需要很长时间才能返回

我将Boost.Asio用作简单的套接字库。当我打开一个套接字时,我创建了一个线程,该线程不断读取该套接字,并在套接字关闭或发生其他一些错误时返回。while((read=socket->read_some(buf,ec))!=0){//dealwithbytesread}此代码在Windows和Mac上运行良好。然而,对于Linux,当从主线程关闭套接字时,socket::read_some需要很长时间才能返回-我发现它超过2分钟。我可以做些什么来改进它吗? 最佳答案 如果你愿意cancel-ability,使用异步套接字。不要使

python 套接字 : make sure that TCP packets are send before closing connection

我正在使用通过TCP控制的中继。据我了解,以下代码应该有效:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(('192.168.0.200',17494))s.send(chr(101))s.close()但是,我注意到套接字在实际发送包之前关闭了,并且中继没有做任何事情。作为肮脏的解决方案,我现在在关闭连接之前放置了一个sleep语句并且它可以正常工作。s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(('192.168.0.200',1749

apache - cURL 卡在 : "no chunk, no close, no size. Assume close to signal end"

当使用此命令将上传流式传输到Apache/PHP服务器时curl-XPOST\-i--data-binary@customfile.app\-H"Transfer-Encoding:chunked"\-H"Content-Type:application/app"\-H"X-CustomHeader1:customvalue1"\-H"X-CustomHeader2:customvalue2"\-H"X-CustomHeader3:customvalue3"\-H"X-CustomHeader4:customvalue4"\-H"X-CustomHeader5:customvalue5

java.net.SocketException : socket closed TCP Client Server Communication 异常

这个问题在这里已经有了答案:Officialreasonsfor"Softwarecausedconnectionabort:socketwriteerror"(14个答案)关闭3年前。我正在通过TCP创建一个java客户端/服务器应用程序,我们有两个套接字:一个用于交换消息。两个用于文件传输。我在服务器中创建了两个ServerSockets以创建套接字一和二通过接受ServerSockets。首先客户端通过第一个Socket发送一些字节这样它就可以告诉服务器它需要哪个文件。然后Server通过第二个socket将文件发送给client。客户端收到文件后,尝试向服务器发送回传输完成消息

c# - 服务器套接字在 Close_Wait 中挂起

场景如下:我正在从我的C#服务器应用程序向客户端发送大量数据。突然数据流停止,客户端没有数据更新,端口被阻塞。发生这种情况时,服务器端的症状是Close_Wait在该端口(netstat)操作会在日志中阻塞(错误代码:135)。无法从客户端建立新连接。Telnet无法访问该端口目前,每当出现问题时,我们都会重新启动服务器。显然这不是解决方案。有人可以为WindowsServer2008中卡在Close_Wait中的服务器套接字提供解决方案吗?对此场景的任何建议将不胜感激。提前致谢。 最佳答案 CLOSE_WAIT表示对端已关闭连接,

java - 使用 java 客户端/服务器重现 tcp CLOSE_WAIT 状态

有没有一种简单的方法可以用java程序重现tcpCLOSE_WAIT状态?我有一个遗留的Java应用程序有这个问题,我希望能够重现它以便我可以测试我的修复。谢谢 最佳答案 当另一端关闭连接而这一端没有关闭时,连接处于CLOSE_WAIT状态。很容易重现://Client.java(willsleepinCLOSE_WAIT)importjava.io.*;importjava.net.*;publicclassClient{publicstaticvoidmain(String[]args)throwsException{Socke

c# - TcpClient.Close() 仅适用于 Thread.Sleep()

我有一个简单的服务器,它从客户端获取字符串并将其打印在屏幕上。我也有简单的客户端,发送数据并关闭:staticvoidMain(){varclient=newTcpClient("localhost",26140);varstream=client.GetStream();Byte[]data=System.Text.Encoding.UTF8.GetBytes("CALCqwer");stream.Write(data,0,data.Length);stream.Close();client.Close();//Thread.Sleep(100);}对于未注释的字符串“Thread.

c# - 无法将数据写入传输连接 : An existing connection was forcibly closed by the remote host

我有一个更新服务器,它通过TCP端口12000发送客户端更新。单个文件的发送仅在第一次成功,但之后我在服务器上收到错误消息“无法将数据写入传输连接:现有连接被远程主机强行关闭”。如果我在服务器上重新启动更新服务,它只会再次运行一次。我有正常的多线程Windows服务。服务器代码namespaceWSTSAU{publicpartialclassApplicationUpdater:ServiceBase{privateLoggerlogger=LogManager.GetCurrentClassLogger();privateint_listeningPort;privateint_A