如何判断tcp连接是哪一方问题导致断开? [问题点数:40分,结帖人ysu108]

Bbs2
本版专家分:182
结帖率 100%
Bbs6
本版专家分:5382
Bbs6
本版专家分:5382
Bbs2
本版专家分:182
Bbs3
本版专家分:949
Bbs8
本版专家分:33509
Blank
黄花 2014年7月 C/C++大版内专家分月排行榜第二
2014年5月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2014年10月 C/C++大版内专家分月排行榜第三
2014年4月 C/C++大版内专家分月排行榜第三
Bbs6
本版专家分:5382
Bbs5
本版专家分:2446
Bbs2
本版专家分:182
Bbs8
本版专家分:33509
Blank
黄花 2014年7月 C/C++大版内专家分月排行榜第二
2014年5月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2014年10月 C/C++大版内专家分月排行榜第三
2014年4月 C/C++大版内专家分月排行榜第三
Bbs8
本版专家分:33509
Blank
黄花 2014年7月 C/C++大版内专家分月排行榜第二
2014年5月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2014年10月 C/C++大版内专家分月排行榜第三
2014年4月 C/C++大版内专家分月排行榜第三
Bbs12
本版专家分:380843
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs12
本版专家分:380843
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs1
本版专家分:45
Iptables模块reload问题(解决iptables服务重启导致TCP长连接断开)
Iptables模块reload<em>问题</em>(解决iptables服务重启<em>导致</em>TCP长<em>连接</em><em>断开</em>)     在最近的Linux内核里,默认情况下,Iptables重启动的时候,iptables模块会被卸载(unload),然后加载重启。     这种配置下 iptables如果重启,对于那些<em>tcp</em>发起端window scale option有效的的<em>连接</em>会产生以下影响:
云主机供应商防火墙导致的TCP连接无法建立问题
今天遇到一个非常诡异的<em>问题</em>。具体表现如下(两台机器分别用src和dst表示,两台机器在不同的数据中心,<em>连接</em>需要走公有网络)在src主机,访问dst的8181端口,发现<em>连接</em>无法建立。src访问dst的非8181端口,<em>连接</em>正常建立在src主机所在的集群,访问dst的8181端口,<em>连接</em>正常建立在其它外网设备访问dst的8181端口,<em>连接</em>正常通过内网访问dst的8181端口,<em>连接</em>正常两个服务器都没有设置防...
重启网卡会不会导致tcp连接断开
请问各位,如果我重启网卡之后,会不会<em>导致</em><em>tcp</em><em>连接</em><em>断开</em>呢?
如何断开TCP/IP连接
我<em>如何</em><em>断开</em>TCP/IP的<em>连接</em>呢,我使用了Close(),但我发现Server端并没有触发OnClose()事件rn我在Client和Server端Create Socket时做出以下修改rnClient: Create(.....,FD_CONNECT|FD_CLOSE)rnSerevr: Create(.....,FD_ACCEPT|FD_CLOSE)rn也同样没有效果rn同时我在删除Socket指针时出现共享错误,堆栈情况如下所示:rnCAsyncSocket::KillSocket(unsigned int 444, CAsyncSocket * 0x00474420 CAsyncSocket) line 482 + 34 bytesrnCAsyncSocket::Close() line 235rnCAsyncSocket::~CAsyncSocket() line 376rn不知道是什么原因?望指教!
CSocket做TCP连接如何判断连接已经断开
求 一个比较好的方法,不要用类似不停的发送消息给对方的方式。
判断TCP断开
谢谢http://blog.csdn.net/sjin_1314/article/details/8897588。试了方法2有效。#include int IsSocketConnected(int sock) { struct <em>tcp</em>_info info; int len=sizeof(info); if(sock<=0){
TCP连接问题如何断开呢?
我在程序中建立了TCP<em>连接</em>,由于网络故障原因,建立好的TCP<em>连接</em><em>断开</em>了。但我用360网络<em>连接</em>查看器可以看到,服务器和客户端的TCP<em>连接</em>线程都还在。这样<em>问题</em>就出来了,当系统建立了许多TCP<em>连接</em>后,有许多实际上已经<em>断开</em>的TCP<em>连接</em>还在系统中,这样就耗费了许多内存。最后<em>导致</em>内存不足。rn <em>问题</em>:rn 当网络<em>断开</em>后,我<em>如何</em>关闭服务器和客户端的TCP<em>连接</em>呢?rnrnrnPS:当网络通畅的情况下,我正常关闭客户端,服务器和客户端的TCP<em>连接</em>都能正常释放。但当网络故障时,TCP<em>连接</em>就释放不了,欢迎大家指点!rnrn
由于网络延时导致TCP连接乱序的问题
-
Linux防火墙的开启和关闭
) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。 在开启了防火墙时,做如下设置,开启相关端口, 修改/etc/sysc
TCP连接断开
transmission control protocol  传输控制协议 基于字节流的通信协议 数据在传输前要建立<em>连接</em>,传输完毕要<em>断开</em><em>连接</em> 客户端在收发数据前要使用connnect函数和服务器建立<em>连接</em> 建立<em>连接</em>的目的是保证ip地址、端口等正确无误,为数据的传输开辟通道 <em>tcp</em>建立<em>连接</em>时腰传输三个数据包,俗称三次握手 1)当客户端调用connect函数后,<em>tcp</em>协议会组建一个数据包,并...
TCP连接时,一方如何知道另一方【异常断开连接】?
<em>问题</em>:TCP的<em>连接</em><em>如何</em>知道对方已经异常<em>断开</em> TCP进行握手和<em>断开</em><em>连接</em>时,都会以SYN,ACK进行确认。 但是网络经常出现一些异常情况,比如如下: A与B建立了一个TCP<em>连接</em>,然后停止一切数据传输(包括
TCP/IP 建立连接断开连接的过程
TCP/IP 建立<em>连接</em>、<em>断开</em><em>连接</em>的过程    以下内容来自:http://www.cnblogs.com/rootq/articles/1377355.html   <em>tcp</em>协议和udp协议的差别 TCP UDP 是否<em>连接</em> 面向<em>连接</em> 面向非<em>连接</em> 传输可靠性 可靠 不可靠 应用场合 传输大量数据 少量数据 速度 慢 快       TCP协议三次握手过程分析 T...
断开TCP连接
我们知道TCP通过三次握手建立可靠<em>连接</em>,通过四次挥手<em>断开</em><em>连接</em>,TCP<em>连接</em>是比较昂贵的资源。为什么TCP需要通过三次握手才能建立可靠的<em>连接</em>?两次不行么?<em>断开</em><em>连接</em>为什么需要四次?TCP<em>连接</em>昂贵在哪里? 三次握手 客户端:“喂,听得到吗?” 服务端:“我能听到,你能听到我吗?” 客户端:“恩,能听到。” 为什么需要三次握手,对客户端而言,再收...
TCP连接的建立和断开
Since every byte that is exchanged is numbered, the acknowledgment number contains that next sequence number that the sender of the acknowledgement expects to receive. This is therefore the sequence
易语言断开TCP连接
<em>断开</em>网络,让某个程序瞬间<em>断开</em>网络,<em>连接</em>网络,不再需要拔网线或者整个<em>断开</em>电脑的<em>连接</em>
断开Tcp连接
客户端与外部网络<em>连接</em>,提交数据给外部的程序,这样就会有个会话,怎么样能提交后就<em>断开</em>。或许是清除会话。rnrn如果查看路由器就可以看到rn提交一次,就会出现他的ip,rn只要关闭软件,那个<em>连接</em>马上就没有了。 rnrn但是只要软件还开着,那<em>连接</em>就一直在。rnrn有没有办法强制它<em>断开</em>rnrnrn我就是想:提交(post)-><em>断开</em> 就和外部完全脱离。rn
长期使人困惑的问题:TCP连接中断的实时检测
目前TCP/IP已经成为网络的主导技术。通过对TCP底层实现的分析,对TCP/IP编程中一个长期使人困惑的<em>问题</em>----网络<em>连接</em>中断的实时检测—进行深入的分析,并提出相应的解决方案。      0引言   作为现代网络的主导技术,TCP/IP编程看起来非常简单,但在经历了最初的高效率后,往往会在细节面前停滞不前,这常常是因为对TCP协议底层细节的缺乏了解所<em>导致</em>的。   TCP是面向<em>连接</em>协议,而UDP...
TCP建立连接断开连接过程的理解
转载出处: https://blog.csdn.net/skyroben/article/details/74973158TCP的建立<em>连接</em>和<em>断开</em><em>连接</em>过程如下所示:
如何快速的判断出TCP连接断开
我用了一个线程来保持<em>连接</em>,一旦<em>连接</em>中断,就立即重连,但是在<em>判断</em><em>连接</em>中断时,老感觉不能立即得到结果,需要过几秒才能知道,大家有没有比较好的办法能够快速的<em>判断</em>出TCP<em>连接</em>已<em>断开</em>? 下面是我的<em>判断</em>语句: i
TCP三次握手 与 四次断开 的详细过程剖析
TCP是一个面向<em>连接</em>的服务,面向<em>连接</em>的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建立<em>连接</em>,数据传输和终止<em>连接</em>三个过程,TCP建立<em>连接</em>的过程称为三次握手,下面说一下三次握手的具体过程: TCP三次握手过程 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立<em>连接</em>,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信...
indy如何判断连接断开
用indy10的idhttp.post,已经<em>连接</em>上服务器并下载了部分,这时候服务器<em>断开</em>,indy会卡在post很久,<em>如何</em>让indy知道网络已经<em>断开</em>并在一个较短时间内响应呢?rn不用readtimeout,我只想在网络<em>断开</em>时有超时<em>判断</em>。
CSocket如何判断连接断开
如果服务端程序正常关闭,能通过CSokcet.OnClose()<em>判断</em><em>连接</em>已经<em>断开</em>。rn但是如果服务端程序非正常关闭,怎样来<em>判断</em>通信<em>连接</em>已经<em>断开</em>?rn急啊?
如何判断连接是否断开
用API写的异步Socket,当C、S建立<em>连接</em>后,如果客户端或服务器端突然<em>断开</em>,另外一端立即<em>如何</em>知道?
救命哪,tcp连接问题!!!!
我用indy <em>tcp</em>控件写了一个网络程序,服务器通过56K MODEM拨号上网,客户端设置<em>连接</em>IP为服务器动态的IP,为什么<em>连接</em>不上,但是在服务器端输入自已的IP又可以连得上。我用的端口是8001.
tcp客户端判断服务器断开
请问C#作的<em>tcp</em>客户端程序<em>如何</em><em>判断</em>与是否与服务器<em>断开</em><em>连接</em>,比如说建立<em>连接</em>后服务器重新启动或者关机等,在客户端上怎样的代码可以<em>判断</em>,请给代码,十分感谢。
TCP连接异常断开检测
TCP是一种面向<em>连接</em>的协议,<em>连接</em>的建立和<em>断开</em>需要通过收发相应的分节来实现。某些时候,由于网络的故障或是<em>一方</em>主机的突然崩溃而另<em>一方</em>无法检测到,以致始终保持着不存在的<em>连接</em>。下面介绍一种方法来检测这种异常<em>断开</em>的情况 1) 在TCP协议中提供了KEEPALIVE检测。该选项使能后,在一个TCP<em>连接</em>上,若指定的一段时间内没有数据交换,则自动发送分节等待对方确认。      SO_KEEPALIV
如何判断TcpClient已断开连接
//我现在是使用花生壳来做动态域名解析,监听本地IP和端口,但是有时花生壳被占用,但是不能<em>判断</em>Tcpclient已经<em>断开</em><em>连接</em> while (true) { try { NetworkStream st
关于TCP连接问题,第一次接收数据成功之后,第二次就断开
-
C#与Android进行Tcp通讯(心跳包;长连接,自动重连,发送失败时自动重发)
c#写<em>tcp</em>Listener;Android写<em>tcp</em>Client 具有心跳包,长<em>连接</em>,自动重连,发送失败自动重发等功能 电脑与Android需要同属一个局域网 <em>tcp</em>Listener设计成只能与一个t
wireshark怎么判断tcp连接创建成功?
-
如何获取和断开本机的TCP连接
<em>如何</em>获取和<em>断开</em>本机的TCP<em>连接</em>
如何知道TCP连接已经断开
用Winsock建立了一TCP<em>连接</em>,当服务器端正常<em>断开</em><em>连接</em>后,客户端<em>如何</em>知道此<em>连接</em>已经<em>断开</em>?(不使用回调函数方式)
如何优雅的正常断开TCP连接
我写了个简单的网络程序, 就是服务器和客户端<em>连接</em>上后就不断的互相收发数据,不停的发,直到关闭socket.rnrn程序运行后发现一个<em>问题</em>,就是如果我发送命令停止服务器或者客户端时,程序立即关闭socket,这时候可能还有没来得及接受的数据,所以,就会出现最后的数据丢掉了。rnrn现在请教<em>如何</em>优雅的<em>断开</em><em>连接</em>,让c/s两端不会因为closesocket而丢失数据。这个正常<em>断开</em><em>连接</em>的步骤应该怎样?网络上全是非正常<em>断开</em>的处理,我找正常<em>断开</em>的步骤。rnrn先谢谢各位捧场了
如何检测到一个tcp连接断开?
在server端,每一个client的<em>连接</em>都用一个线程来处理client的请求.rn但是当client退出或是网络原因,这个<em>tcp</em><em>断开</em>了,server端<em>如何</em>才能知道?在c中有close消息,java中<em>如何</em>实现呀?rn我估计是在server端client的线程会出现异常,但是没找到具体那个异常可以检测到<em>tcp</em><em>断开</em>.rn
如何不用心跳包检测TCP连接断开
TCP keepalive不行,因为必须socket长时间没有收发数据才会发keepalive包,而我的程序有可能一直在发数据。TCP有个超时重传机制,应该是可以通过重传多次失败知道<em>连接</em><em>断开</em>的,但是不知道应用层<em>如何</em>获取<em>连接</em><em>断开</em>的信息?还请高人指点
TCP SOCKET 服务器如何判断客户端断开
客户端与服务器已建立<em>连接</em> 当客户端意外<em>断开</em>时 单从服务器端该<em>如何</em><em>判断</em>客户端已<em>断开</em>? 不使用心跳包
有关服务端主动关闭socket带来的几个问题分析--tcp四次握手半关闭问题导致
     一、场景:nginx开启keep-alive:     <em>问题</em>描述:  upstream prematurely closed connection while reading response header from upstream, client: X.90.10, server: www.example.com, request: &quot;POST /web/?a=b HTTP/...
在一个TCP连接完成后进行通信,如何判断对方已经关闭了?
我accept接收一个<em>连接</em>后进入一个while(1)循环中,<em>如何</em>在这个循环中知道对方关闭或崩溃退出这个死循环到外循环,重新accept?
C# TcpClient如何判断对方是否断开连接(包括物理网络不通、关闭套接字等)
如题,C# TcpClient<em>如何</em><em>判断</em>对方是否<em>断开</em><em>连接</em>(包括物理网络不通、对方关闭套接字等)? 先列出我自己已经找到的资料:(TcpClient.Client的类型为System.Net.Socket
TcpClient和TcpListener断开自动重连
在使用QQ的时候,有时候因为网络原因断网使QQ断线,这时候QQ客户端发现与腾讯代理ServerTCP链接中断,而做出每隔多久进行自动重连的行为。 服务端使用TcpListener监听来自客户端的链接: class Program { static void Main(string[] args) { IPAdd
unix程序里如何 tcp连接断开
unix程序里(c语言)<em>如何</em> <em>tcp</em><em>连接</em><em>断开</em>
TCP连接断开吗?
已经建立了TCP<em>连接</em>,并可能互通信息。但是如果长时间不进行信息的传递。这个TCP<em>连接</em>会自动<em>断开</em>吗?rn如果能自动<em>断开</em>的话,这个时间大约是多少呢?
Tcp连接创建及断开过程
TCP三次握手创建<em>连接</em> •A 机器发出一个数据包并将 SYN 置 l ,表示希望建立<em>连接</em>。这个包中的序列 号假设是 x。 •B 机器收到 A 机器发过来的数据包后,通过 SYN 得知这是一个建立<em>连接</em>的 请求,于是发送一个响应包并将 SYN 和 ACK 标记都置 l。假设这个包中的 序列号是 y,而确认序列号必须是 x+l ,表示收到了 A 发过来的 SYN。在 TCP 中, SYN 被当...
检查非正常断开tcp连接
当客户端connect端<em>连接</em>上之后,正常通信一会儿,1.客户端断电或者2.断网或者3.关闭fd,服务器怎么检测到客户端已经<em>断开</em>,并且把对应的sockfd 关闭(close(fd))? 1.第一种方法是通过客户端或者服务端开启一个线程不停的发送心跳包,通过心跳包<em>判断</em>客户端存活 2.第二种利用recv和send的返回值和产生的errno来<em>判断</em><em>tcp</em><em>连接</em>情况 1、send非阻塞 client/s...
怎样模拟TCP连接断开
假设A和B<em>连接</em>成功,两边在发送一些数据后,都停止了接收和发送,这时中间的物理链路<em>断开</em>了,比如中间的路由器什么的<em>断开</em>了。比如用select侦听,这时A和B应该都收不到信号。rn但是我通过 kill -9,拔网线等都没法模拟这种情况。总会收到read通知,然后读取抛出异常。rnrn请问怎样才能模拟TCP<em>连接</em><em>断开</em>?
TCP IP 断开之后的重连
我的客户端应用程序使用TCP/IP<em>连接</em>到服务器。如果应用程序失去与此服务器的<em>连接</em>(例如,由于服务器崩溃或手动关闭了服务器),我希望它会定时尝试重新<em>连接</em>,直到成功为止。 大概就是 每隔几秒去重连一次服务
TCP建立连接断开连接图解
TCP建立<em>连接</em>和<em>断开</em><em>连接</em>图解 一、TCP报文简介 TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有A...
AR6302 TCP断开原因
在实际使用中,发现TCP 莫名其妙的不发送数据了,还以为是客户端<em>断开</em>了,经过多方排查,发现是固件原因
Tcp异常断开之Connection reset
一、背景192.168.15.81(linux机器)机器访问192.168.0.139(linux机器)的任意端口,建立的<em>tcp</em><em>连接</em>成功,但是<em>连接</em>会莫名奇妙的消失,<em>导致</em>Connection reset的错误。192.168.5.81的mac地址:6C:92:BF:0B:2F:9D(linux)192.168.0.139的mac地址:未知(linux)192.168.15.186的mac地址:44-...
TCP的连接三次握手与断开的四次握手
对照wireshark,可以看到TCP的<em>连接</em>三次握手与<em>断开</em>的四次握手在wireshark工具中可以当看到SYN标志,可以进去,看一下是否被置成1,如果为1,说明,客户要求与服务器建立<em>连接</em>服务器会回复一个ACK置1,SYNC置1的应答给客户端然后客户端再恢复一个ACK确认包之后开始数据交互,每一包会把PSH位置1,同时携带ACK,携带ACK是为了确认是在一次<em>连接</em>中的数据传输关闭由于TCP<em>连接</em>是双向连...
TCP连接-三次握手和四次断开
 TCP<em>连接</em>——三次握手和四次<em>断开</em> 1.面向<em>连接</em> TCP是一个面向<em>连接</em>的协议,面向<em>连接</em>是指任何<em>一方</em>向对方发送数据前必须先建立通道,比如像打电话一样:必须要等到对方的手机响铃,并且对方接听电话时,才能与对方通信。而UDP则不是面向<em>连接</em>的协议,基于UDP协议的通信双方不需要事先与对方协商建立<em>连接</em>,也不管对方的IP地址与端口号是否存在,就发送数据,这个处理方式有点像手机发短信,不管对方手机是否欠费或...
断开已经建立的TCP连接
<em>断开</em>已经建立的TCP<em>连接</em>rn<em>如何</em><em>断开</em>指定进程的网络<em>连接</em>,已经建立的
TCP连接的三次握手和TCP断开的四次握手
建立TCP需要三次握手才能建立,而<em>断开</em><em>连接</em>则需要四次握手。整个过程如下图所示: 先来看看<em>如何</em>建立<em>连接</em>的。 首先Client端发送<em>连接</em>请求报文,Server段接受<em>连接</em>后回复ACK报文,并为这次<em>连接</em>分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP<em>连接</em>就建立了。 那<em>如何</em><em>断开</em><em>连接</em>呢?简单的过程如下: 【注意】中断<em>连接</em>端可以是...
asp.net的数据缓存,用的是哪一方的内存?
asp.net有个数据缓存功能,也即是网页输出缓存和数据库缓存。rn不过请问是把这些缓存到服务器内存中?还是缓存到客户机的内存中?我看的那本书里没有说清楚。rn谢谢给点指导。
【TCP】TCP 三次握手连接&四次握手断开
TCP三次握手<em>连接</em>,四次握手<em>断开</em>, <em>断开</em>时候的Close-wait &Time-wait
SIM808(SIM900A)TCP连接无法断开问题
目前在用SIM808与服务器做TCP的数据传输,有些情况下,会出现TCP<em>连接</em>无法<em>断开</em>的情况。就是说当SIM808调用了指令AT+CIPCLOSE 和指令AT+CIPSHUT之后,SIM808均返回OK,但是服务器端的TCP<em>连接</em>仍然没有<em>断开</em>,想求助一下,这种情况大家遇到过吗?是怎样解决的呢?rn 而且是如果用移动的4G卡,就不会出现这种<em>问题</em>;如果是用联通的普通卡,和物联网卡,都会出现这种<em>问题</em>。rnrn附上我的AT指令rnrnATrnAT+CGCLASS="B"rnAT+CGDCONT=1,"IP","UNIWAP"rnAT+CGATT=1rnAT+CIPCSGP=1,"UNIWAP"rnAT+HEAD=1rnrnAT+CIPSTART="TCP","www............","10005"rnAT+CIPSENDrnrn1ArnrnAT+CIPCLOSErnAT+CIPSHUTrnrn希望大神速速出现!!!!
关于检测TCP连接断开问题
我的TCP Server程序在网线被把掉的时候,检测不到TCP<em>连接</em><em>断开</em>。下面的代码是在<em>连接</em>后的线程函数中:rnwhile( IsOpen() )rnrn BOOL optval = TRUE;rn int nError = setsockopt( (SOCKET)m_hComm, SOL_SOCKET, SO_KEEPALIVE, (char *) &optval, sizeof( BOOL ) );rn if ( (nError == WSAENETRESET)||( WSAGetLastError() == WSAENETRESET))rn rn if (IsOpen())rn OnEvent( EVT_CONDROP ,0); // lost connectionrn rnrnrn网线把掉后也没有错误产生。请大家指点一下我什么地方用错了。
ace里面TCP连接断开的识别问题
当我应用Reactor 和 ACE_Event_Handler 来实现TCP的<em>连接</em>时,我是通过在handle_input()里recv_n()的返回值为-1来<em>判断</em>“<em>连接</em><em>断开</em>的”。rn 但是我发现经常,当服务器或客户端<em>断开</em>了,我却经常不能有效得到<em>断开</em>信息!rn 尽管我已经对建立好的sock设置了SO_KEEPALIVE,SO_LINGER,TCP_NODELAY。当然我也设置了ACE_NONBLOCK。rnrn 请问怎样才能有效快速<em>判断</em>对方<em>断开</em>?rn 另一种情况是假如对方是物理网络<em>断开</em>(未调用sock.close),又<em>如何</em>来快速<em>判断</em>。
tcp连接,通信一方突然断开(包括:优雅的和非优雅的),另一方如何方便的检测到呢?
各种不同的应用(阻塞的,select,wsaasynselect,wsaeventselect,重叠I/O,完成端口)是否有所不同呢?rnrnrn哪位大牛能帮忙解答一下。谢谢了先rnrn
c# 如何判断socket连接断开
private void timer1_Tick(object sender, EventArgs e)rn rn if (socket != null && socket.Connected)rn rn if (socket.Poll(1, SelectMode.SelectRead))rn rn tryrn rn byte[] temp = new byte[1024];rn int nRead = socket.Receive(temp);rn if (nRead == 0)rn rn MessageBox.Show("000<em>连接</em>已<em>断开</em>了,请处理");rn rn rn catchrn rn MessageBox.Show("<em>连接</em>已<em>断开</em>了,请处理");rn rn rn tryrn rn int ii=socket.Send(new byte[1]);rn rn catch (SocketException se)rn rn if (se.ErrorCode == 10054) // Error code for Connection reset rn rnrn MessageBox.Show("<em>连接</em>已<em>断开</em>了,请处理");rn rn elsern rn MessageBox.Show(se.Message);rn rn rn rn rn rn目前我用一个定时器来做心跳发送包,但先和服务端<em>连接</em>上,再把网络禁用了rn我这边的客户端一点反应也没有,禁用后,我不停的发包一切也正常没有异常,socket.Connected一直为truern如果才能知道服务端已<em>断开</em><em>连接</em>了呢
如何判断socket客户端连接断开
我想在服务端通过sendUrgentData(data)来<em>判断</em>客户端是否<em>断开</em>,现在如果我把服务端和客户端都放在同一台电脑上测试没<em>问题</em>,客户端不会接收发送的紧急消息,但当我把服务端和客户端放在不同的电脑上的话,客户端就会接收到服务端发送的紧急消息。这是什么原因?<em>如何</em>禁止客户端不收到紧急消息?我试过setOOBInline(false)也不行,请帮忙!
SocketChannel如何判断服务端连接断开
客户端用SocketChannel建立<em>连接</em>和发送数据,服务端<em>断开</em>网络<em>连接</em>后,客户端<em>如何</em>才能<em>判断</em><em>连接</em><em>断开</em>?rn<em>判断</em>connect和open状态都没用,发送数据也显示成功
如何判断socket连接是有效或已经意外断开???
各位同行:rn我写了一个基于socket<em>连接</em>系统但是经常会出现程序<em>断开</em><em>连接</em>又没触发<em>断开</em><em>连接</em>事件,rn请问<em>如何</em><em>判断</em>socket<em>连接</em>是有效还是已经意外<em>断开</em>了呢???rn小弟先谢谢了!!!rnrn
请教:如何判断与数据库是连接状态还是断开
Dim rs As ADODB.RecordsetrnDim cnn As ADODB.ConnectionrnDim strcnn As Stringrnrnif **********(<em>连接</em>状态) then rn cnn.closernend if
如何判断ServerSocket与ClientSocket的连接是否断开
如题。我想在服务端定时<em>判断</em>相连的客户端是否已经<em>断开</em>。rn但是在客户端clientsocket.close或者程序退出后,用serversocket的几个事件好象都不能触发。
如何判断一个socket连接已经断开
<em>如何</em><em>判断</em>一个socket<em>连接</em>已经<em>断开</em>!
socket服务器端如何判断连接断开
使用TCP当客户端执行rn::closesocket(s);rn::WSACleanup();rn之后,是否会向服务器发送一个<em>断开</em><em>连接</em>的消息好让服务器释放套接字重新开始监听?rn服务器端<em>如何</em><em>判断</em><em>连接</em><em>断开</em>?
socket 连接后,如何判断是否断开断开
socket <em>连接</em>后,<em>如何</em><em>判断</em>是否<em>断开</em><em>断开</em>?rnrnsocket<em>连接</em>后,如果服务器端,或者客户端<em>一方</em>,异常退出,另<em>一方</em>是否可以立刻知道?rnrn不用那种互相发信号的心跳<em>判断</em>的方法,有没有更好的方法,因为开发的时候有可能几个人各执一端,不好协调。rnrn 期待比较简洁实用的方法。
关于TCP断开问题
请问我的客户端用TCP连上服务器,如果服务器关机我怎么知道TCP已经<em>断开</em>????
tcp断开问题
用csocket编程时,如果是client退出或者关闭都可以触发Server的onclose事件,但是如果client断电,或者拔掉网线即不发出<em>断开</em><em>连接</em>的请求则Server端的onclose事件不会触发,那么<em>如何</em>得知客户端断了。(Csocket本身没有这种事件吗,我知道可以用心跳技术解决)
怎么判断Socket连接断开
<em>判断</em>read的返回值是否为-1可行吗?
oracle怎么判断连接断开
用proc写了一程序,要<em>判断</em>oracle<em>连接</em><em>断开</em>的异常处理。rn在处理数据的时候,如果oracle<em>连接</em><em>断开</em>的话,数据处理肯定失败。这个时候<em>断开</em>有没有返回值,是什么?rn或者是类似EXEC SQL WHENEVER SQLERROR GOTO ERROR;的时候会走到ERROR去。请问有没有类似的这种异常处理来<em>判断</em><em>连接</em><em>断开</em>?小弟oracle菜鸟。请各位指导下。谢谢!!
关于ADO连接是否断开判断问题
我的程序中只有一个ADOConnection,但由于网络的<em>问题</em>,经常会发生<em>连接</em>不上的<em>问题</em>,可又无法<em>判断</em><em>连接</em>是否正常rn有什么好办法
CSocket服务器端判断连接断开问题
我在用CSocket写一个服务器端和客户端通信的程序。采用短<em>连接</em>,由客户端主动<em>断开</em>,我<em>如何</em>在服务器端<em>判断</em>客户端已经<em>断开</em>,并且释放<em>连接</em>?
tcp的关闭(shutdonw、close、SO_LINGER选项)与 连接断开情形判断
1.close只是减少引用计数,只有当引用计数为0的时候,才发送fin,真正关闭<em>连接</em> shutdown不同,只要以SHUT_WR/SHUT_RDWR方式调用即发送FIN包 2.对方关闭读,再对其写,写端会收到rst,再写收到sigpipe 3.SO_LINGER对shutdown无影响
怎样判断Tcp连接是否已经断开?(急!!!高分求助)
一个C/S结构的程序,服务器端和客户端建立了Tcp<em>连接</em>。在出现了异常情况时(比如说客户端死机或断电),服务器端怎样才能<em>判断</em>出<em>连接</em><em>断开</em>。rnrn服务器端:rn public class SckListener : System.Net.Sockets.TcpListenerrn rn //继承TcpListener类rn public SckListener() rn rn rn public bool IsConnected()rn rn return this.Active;rn rn rn .................rn private SckListener sck;rn sck=new SckListener(5555);rn sck.Start();rn rn Socket sock=sck.AcceptSocket(); rn .....................rnrnrnrn客户端:rn public class sckClient : System.Net.Sockets.TcpClient rn rn public sckClient()rn rn rn public bool IsConnected()rn rn return base.Active; rn rn rnrn ......................rn clientSocket=new sckClient();rn clientSocket.Connect(Server,5555);rnrnrn我用sock.Connected得出结果是不对的,.Net联机帮助也说 “即使 Connected 返回 true,Socket 也不一定仍处于 Connected 状态。”rnrn我又尝试用sck.IsConnected得出的结果也不对。rnrn各位高手帮帮忙,先谢谢了!(对我很重要)
可不可以通过recv的返回值来判断tcp连接是否断开
各位说说
如何判断网络断开???
把网线拔掉这种情况啊<em>如何</em><em>判断</em>,听别人说用什么ICMP协议或Ping命令,不知道怎么用rn请高手指点!!!
如何判断网络断开
象InternetGetConnectedState这类的函数,是<em>判断</em>是否上了互联网的,我需要的不是这个。rn我是自己组建的局域网,只有我一台机器跟路由的情况下,<em>如何</em><em>判断</em>我的网线跟路由器<em>断开</em>了?rnrn不用ping的方法,有其他方法吗?
如何判断SOCKET断开
在非阻塞模式下,服务器端<em>如何</em>知道客户端的SOCKET已经<em>断开</em>,而客户端的SOCKET不是人为<em>断开</em>的,有可能是网络或者客户端系统<em>问题</em>造成的。请高手帮忙解答
TCP连接状态-如何判断一个TCP连接是否可用
https://www.cnblogs.com/gwwdq/p/9261615.html 在使用一个长<em>连接</em>的TCP时,如果TCP服务器端接收到TCP的客户端<em>连接</em>过来后,接着服务器端的TCP节点需要对这个客户端进行数据收发,收发时需要<em>判断</em>这个SOCKET是否可用用,<em>判断</em>方法有多种; 1.linux的5种方法,本人在使用modbus服务器端<em>判断</em>已经<em>连接</em>的设备或是gprs服务器对已经<em>连接</em>的GPRS设备判...
TCP并发连接导致10053
我有7个TCP并发<em>连接</em>,其中5个负责传输大数据.如果我用127.0.0.1做测试,偶尔会遇到10053.如果是两台机器,则很容易就10053了.rn我查了下,10053个<em>问题</em>很多人都遇到了,但是都没有好的解决办法?rnrn我想问下,<em>导致</em>10053的原因是什么?是系统的Socket缓冲区满了?还是什么原因.rnrn这里,我叙述下我遇到个很严重的异常:rn我在两台机器上做测试时,发现这个异常连SetUnhandledExceptionFilter都没有捕获到(而其他比如char *p = NULL; *p = 0;这样的非法访问都会捕获到).如果是用调试环境来测试,则会在nt.dll里面,无法<em>判断</em>在哪里中断的.
如何断开 HttpURLConnection 的连接
我使用 AsyncTask来<em>连接</em>一个 URLPath:rnrn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.left_list);rn Button btn = (Button)findViewById(resid);rn btn.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn //how to stop connectrn rn );rn new Connecting().execute();rn rn class Connecting extends AsyncTask rn @Overridern protected void onPreExecute() rn super.onPreExecute();rn //do somethingrn rn @Overridern protected String doInBackground(String... aurl) rn try rn URL url = new URL(URLPath);rn connection = (HttpURLConnection)url.openConnection();rn connection.setConnectTimeout(30000);rn connection.setReadTimeout(30000);rn connection.setDoInput(true);rn connection.setUseCaches(false);rn connection.connect();rn is = connection.getInputStream();rn rn catch (Exception e) rn e.printStackTrace();rn rn return null;rn rn @Overridern protected void onPostExecute(String unused) rn super.onPostExecute(unused);rn //access InputStream isrn rn rnrn<em>连接</em>期间可能会占用很长时间。rn在<em>连接</em>的时候我想设置 点击 Bbutton 按钮来终止 connection 的<em>连接</em>。rn<em>如何</em>在 setOnClickListener 方法中设置呢?rn
如何断开与FTP的连接
c#实现的FTP客户端类,当下载好数据之后,虽然我发送了“QUIT”命令,并且还关闭了Socket,可是为什么ftp服务器上还显示我还连在ftp上,当我<em>连接</em>次数多的话,就会出现too many user connected......,除非我关闭了我的应用程序,才能<em>断开</em><em>连接</em>。。。请大家帮帮我,,,谢谢!
PLSQL Developer 9 绿色 破解版下载
最新的PLSQL Developer 9 ,集成了PLSQL Developer 9 破解补丁,绿色免安装,序列号在SN文件中。 相关下载链接:[url=//download.csdn.net/download/h3dwy/3479177?utm_source=bbsseo]//download.csdn.net/download/h3dwy/3479177?utm_source=bbsseo[/url]
正确的4种挂马方式(属于比较简单的) - 京华志下载
正确的4种挂马方式(属于比较简单的) - 京华志 京华志出品 必数精华 相关下载链接:[url=//download.csdn.net/download/wxz139292920/3656748?utm_source=bbsseo]//download.csdn.net/download/wxz139292920/3656748?utm_source=bbsseo[/url]
安装虚拟机的过程下载
仅仅是Word 文档,安装虚拟机的完整过程 相关下载链接:[url=//download.csdn.net/download/yixindi/4580241?utm_source=bbsseo]//download.csdn.net/download/yixindi/4580241?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的