怎样判断socket断开并自动重连? [问题点数:100分,结帖人snowvolcano]

Bbs1
本版专家分:40
结帖率 100%
bhr
Bbs5
本版专家分:3600
Bbs1
本版专家分:40
Bbs3
本版专家分:697
Bbs4
本版专家分:1991
Bbs3
本版专家分:697
Bbs1
本版专家分:0
Bbs4
本版专家分:1991
Bbs3
本版专家分:697
Bbs1
本版专家分:40
Bbs5
本版专家分:2380
Bbs5
本版专家分:4702
Bbs1
本版专家分:40
Bbs4
本版专家分:1991
Bbs1
本版专家分:40
Bbs4
本版专家分:1991
怎么判断Socket连接断开
<em>判断</em>read的返回值是否为-1可行吗?
如何判断Socket是否断开
就是断线以后<em>自动</em><em>重</em>新连接 如何能知道现在是不是断线 rnrn我用的CSocket
Socket的自动连接问题
客户端应用程序CA 服务器端应用程序SArnrn场景:连接后CA必须首先发送注册消息,之后才能消息交互。SA<em>重</em>启后,所有注册客户数据全部丢掉。rnrn我的问题是:当SA<em>重</em>启时,如何及时检测到这次中断以便<em>重</em>新注册?
VB6程序怎么检测与SQL SERVER断开,并自动连?
我想了个办法,就是一分钟<em>自动</em><em>重</em>连一次rn[code=vb]Dim cnn As ADODB.ConnectionrnDim rs As ADODB.RecordsetrnrnPrivate Sub Form1_Load()rn Set cnn = New ADODB.Connectionrn cnn.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=false;User ID=sa;Initial Catalog=testdatabase;Data Source=computer"rn Set rs = New ADODB.RecordsetrnEnd SubrnrnPrivate Sub Timer1_Timer()rn rs.open ***************rn *rn *rn *rn *rn rs.closernEnd SubrnrnPrivate Sub Timer2_Timer()rn If rs.State = adStateOpen Thenrn rs.Closern End Ifrn If cnn.State = adStateOpen Thenrn cnn.Closern End Ifrn Set cnn = New ADODB.Connectionrn cnn.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=false;User ID=sa;Initial Catalog=testdatabase;Data Source=computer"rn Set rs = New ADODB.RecordsetrnEnd Sub[/code]rn我这个实现方式有什么不妥么?rn尤其是timer2里的代码有问题么?rnVB6没有try catch真心纠结。。。
VC怎样编程实现SQL Server断开自动连?
问题的提出:rn 最近用VC编写一个操作SQL Server 2005的程序,本来想在程序一初始化的时候就连接SQL Server,以后在请求SQL Server数据库中的数据时再不用连接SQL Server了,这样可以节省资源,提高效率,但担心的问题是:如果以后再不连接SQL Server,中途SQL Server和本程序<em>断开</em>了连接咋办?即我的问题是:如果检测到程序和SQL Server数据库<em>断开</em>了,能否<em>自动</em>再次连接下SQL Server数据库?vc用代码咋实现呢?
断开Socket?
我有一个异步监听网络的程序,将连接到的客户端Socket保存到Hashtable,当点停止监听时遍历Hashtable,逐个Shutdown(),然后Close(),我希望这时服务器端不再接收任何连接,不过不知道如何<em>断开</em>服务端,导致被客户端的客户端还可以连接。rnrnpublic void StartListening()rnrn byte[] bytes = new byte[1024];rn listener = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );rnrn tryrn rn if ( !listener.IsBound )rn rn listener.Bind( localServer );rn listener.Listen( 400 );rn rnrn while ( forever )rn rn // 设置事件为无信号状态rn allDone.Reset();rnrn // 开始异步监听连接rn listener.BeginAccept( new AsyncCallback( AcceptCallback ), listener );rnrn // 等待一个连接直到继续rn allDone.WaitOne();rn rn rn catch ( Exception e )rn rn Console.WriteLine( e.ToString() );rn rnrnrn这个方法是在一个线程中开始调用的。
CSocket 怎样判断网络断开
-
socket 断开
我写的<em>socket</em>的服务器段如果<em>断开</em>我客户端该怎么知道,这个<em>socket</em> 以<em>断开</em>了,我应该怎么<em>判断</em>,如果客户端<em>断开</em>连接了我该怎么<em>判断</em>,这个地方该怎么做,我客户端的功能就是,如果<em>socket</em><em>断开</em>连接,就从新开始连接,一直能连接为止rn
socket自动连问题(急用 谢谢)
int iYLSockfd=-1;rnrnint connect_server()rnrn CONNECT:rn if (iYLSockfd0)rn rn etsDebug(0,"与二级[%s:%d]建立连接状态正常sockfd[%d],开始发送长度为[%d]的报文",aYLip,iYLport,iYLSockfd,ilMsglen);rnrn int ilRn = etsTcpsnd(iYLSockfd, alMsgbuf, ilMsglen);rn if (ilRn == 0) rn etsDebug(0,"调用函数etsTcpSnd [%d] len [%d] 向二级发送业务回执成功 IP=[%s]",iYLSockfd,ilMsglen,aYLip);rn return 0;rn rn else rn /*通讯失败处理*/rn close(iYLSockfd);rn iYLSockfd=-1;rn etsDebug(0,"调用函数etsTcpSnd port[%d] len [%d] 向二级发送通讯回执失败 rc[%d] IP=[%s]",iYLSockfd,ilMsglen,ilRn,aYLip);rn return -1;rn rn rn return -1;rnrnrnint swDbopen();rnrnrnmain(int argc, char *argv[])rnrnrn /* 连接数据库 */rn int iRc = swDbopen();rn if (iRc)rn rn etsDebug(0,"swDbopen():失败!");rn exit(-1);rn rnrn /* 设置调试程序名称 */rn memset(agDebugfile, 0x00, sizeof(agDebugfile));rn sprintf(agDebugfile, "%s.debug",argv[0]);rn strcpy( DebugFilen2,"CupsCheck.debug");rnrnrn sprintf(alcfname,"%s/%s",getenv("HOME"),"jigang/etc/ServerCNN.ini");rn if (GetProfileString(alcfname,"CUPS","DEBUG",aTmp) < 0)rn rn etsDebug(0,"读DEBUG出错![%d]",errno);rn fprintf(stderr,"读DEBUG出错出错![%d]",errno);rn exit(-1);rn rn cgDebug=atoi(aTmp);rnrnrn etsDebug(3,"DEBUG文件[%s]",agDebugfile);rn etsDebug(3,"DEBUG标志[%d]",cgDebug);rnrn /*add by pc 20060311 连接超时时间必须得到*/rn if (GetProfileString(alcfname,"CUPS","CONNECT_TIME",aTimeOut) < 0)rn rn etsDebug(0,"读连接网关超时时间出错![%d]",errno);rn fprintf(stderr,"读连接网关超时时间出错![%d]",errno);rn exit(-1);rn rn else rn /*设置连接超时时间*/rn iTimeout=atoi(aTimeOut);rn if ((iTimeout>=60) || (iTimeout< 0)rn rn etsDebug(0,"读二级 IP出错![%s][%d]",alcfname,errno);rn fprintf(stderr,"读二级 IP出错![%s][%d]",aYLip,errno);rn exit(-1);rn rnrn if (GetProfileString(alcfname,"CONNServer","ServerRemotePort",alATCport) < 0)rn rn etsDebug(0,"读二级 监听端口号出错![%s][%d]",alcfname,errno);rn fprintf(stderr,"读二级 监听端口号出错![%s][%d]",alcfname,errno);rn exit(-1);rn rn iYLport = atoi(alATCport);rnrn if (GetProfileString(alcfname,"CUPS","THREADNUM",aThreadNum) < 0)rn rn thread_nums=10;rn memset(aThreadNum,0x00,sizeof(aThreadNum));rn sprintf(aThreadNum,"%d",thread_nums);rn etsDebug(0,"读线程数出错![%d],使用默认值10",errno);rn rn else rn thread_nums=atoi(aThreadNum);rn rn if (thread_nums == 0)rn thread_nums = DEFINE_THREADS;rn else if (thread_nums > MAX_THREADS)rn thread_nums = MAX_THREADS;rn APP_MAX_SYNCONNCOUNT = thread_nums*50;rn if ( APP_MAX_SYNCONNCOUNT > SYS_MAX_SYNCONNCOUNT )rn APP_MAX_SYNCONNCOUNT = SYS_MAX_SYNCONNCOUNT;rn else if (APP_MAX_SYNCONNCOUNT < SYS_MIN_SYNCONNCOUNT)rn APP_MAX_SYNCONNCOUNT = SYS_MIN_SYNCONNCOUNT;rnrn etsDebug(0, "二级 IP: aYLip = [%s]", aYLip);rn etsDebug(0, "二级 端口: alATCport = [%s]", alATCport);rn etsDebug(0, "应答队列键: aReqid = [%s]", aReqid);rn etsDebug(0, "响应队列键: aRespid = [%s]", aRespid);rn etsDebug(0, "线程数: aThreadNum = [%s]",aThreadNum);rn etsDebug(0, "三级监听端口: aListenPort = [%s]",aListenPort);rnrn /*请求消息队列*/rnrn if ((q_reqid = msgget(atoi(aReqid),IPC_CREAT|QUEUE_PERM)) < 0) rn etsDebug(0, "建立服务端侦听套接字失败!");rn etsQuitw();rn rn else rn etsDebug(0,"建立监听成功,端口号[%d]",ilPort);rn rnrn for (j=0;jsockfd=newsock;rn sprintf(pConn->ipaddr, "%s", inet_ntoa(addr.sin_addr));rn rn rc=pthread_create(&tThd,NULL,&serverproc,pConn);rn if ( rc )rn etsDebug(0,"创建三级接受线程出错![%d]",errno);rn close(newsock);rn rnrnrn rnrnrnrnrnvoid * serverproc(void *Conn)rnrn pConn=*(CONNINFO *)Conn;rn free(Conn);rn rn /* 通过父线程发送SIGUSR1 结束本线程 **/rn signal(SIGUSR1, pExit);rnrn my_pthread_id = pthread_self();rn pthread_detach(pthread_self());rn memset(&slTermbuf, 0x00, sizeof(TERM_BUF));rn memset(alMsgbuf, 0x00, sizeof(alMsgbuf));rnrn ilSockfd = pConn.sockfd;rn memset(ipaddr,0x00,sizeof(ipaddr));rn rn etsDebug(2,"接收到二级连接请求<em>socket</em>[%d] IP=[%s]",ilSockfd,pConn.ipaddr);rnrn rn iThno=0;rn for(;;)rn iDownflag=0;rn ilMsglen=0;rn ilMsglen = etsTcprcv(ilSockfd,alMsgbuf,JGMSGLEN);rn etsDebughex(5, alMsgbuf,JGMSGLEN); rn if ( ilMsglen,ilSockfd,ilMsglen,errno,pConn.ipaddr);rn
散分,TClientSocket断开自动连服务器问题?
问题描述祥见我的另一帖!解决后,再开帖送分!rnrnhttp://expert.csdn.net/Expert/topic/2372/2372800.xml?temp=.9404261
jboss连接池,断开自动连功能
加上以下标注红线的内容就是加上<em>自动</em><em>重</em>连功能! [code=&quot;java&quot;] flhis jdbc:oracle:thin:@flsys:1521:flhis oracle.jdbc.driver.OracleDriver flhis flhis_123456 org.jboss.resourc...
Spring-Data-Redis 下实现jedis连接断开自动
[size=18px]我的程序运行在网络环境不太稳定的地方,所有有时候redis会<em>断开</em>,sdr会抛出异常rn org.springframework.data.redis.RedisConnectionFailureExceptionrnrn需要在redis<em>重</em>新连上的时候,程序还能正常运行,rnrn原先使用jedis的时候,处理手段是在从连接池获取连接时捕获JedisConnectionException异常,在异常处理部分<em>重</em>新获取连接rnrn但由于spring-data-redis对连接池的封装比较完善,不知从何下手rnrn求各位的解决思路?[/size]
TCP客户端服务器端断开的消息响应及自动
那位大哥有这方面的源码啊,简单的demo就行,我找了好多资料都没找到,我用的是阻塞式的,当<em>socket</em>的正常<em>断开</em>或意外<em>断开</em>,都可以通过消息响应及时的<em>自动</em><em>重</em>连
老问题:异步 socket 怎样判断连接已经断开
如果网线<em>断开</em>后,异步发送还是成功,但第二次发送,会出现失败:rnrnMessageBox.Show(<em>socket</em>.Connected.ToString());//Truern//把线路拔掉rn<em>socket</em>.send(...); //成功,但此时连接实际上已经<em>断开</em>rnMessageBox.Show(<em>socket</em>.Connected.ToString()); //Truern<em>socket</em>.send(...); //这里进入出错处理,提示连接已经被<em>断开</em>rnrn难道每次发送完数据后,还要再发送一次?
socket 连接后,如何判断是否断开断开
<em>socket</em> 连接后,如何<em>判断</em>是否<em>断开</em><em>断开</em>?rnrn<em>socket</em>连接后,如果服务器端,或者客户端一方,异常退出,另一方是否可以立刻知道?rnrn不用那种互相发信号的心跳<em>判断</em>的方法,有没有更好的方法,因为开发的时候有可能几个人各执一端,不好协调。rnrn 期待比较简洁实用的方法。
C# Socket客户端断开后 服务器端没能判断客户端断开
在工作编写一个C#的服务器和Python进行通讯的时候碰到的一个问题,由于工作需求需要,python会每次连接(服务器用的是TCP)服务器就只会发送一条指令然后就会<em>断开</em>连接,下次会<em>重</em>新连接。在这样的情况下就出现了当python客户端<em>断开</em>连接后,服务器这边的Socket没有抛出异常,博主以前的时候都是利用当客户端<em>断开</em>连接的时候抛出的异常来检测是否<em>断开</em>连接。 在上述的情况下,服务器这边的对应的S
关于nodejs数据库断开自动连配置
var connection; function handleError () { connection = mysql.createConnection({ host: '127.0.0.1', user: 'test_user', password: 'test_user', database: 'test_user',...
interbase服务网络异常断开后如何自动连?
我现在使用interbase7.0,当交换机断电再加电后客户端就会出现操作异常,无法关闭数据库连接,也无法<em>重</em>新连接,总是显示“远程主机强制关闭了一个现有的连接”。只能强制结束程序<em>重</em>新打开。rn使用的是ibx来连接的。不知如何做到在网络出现问题并恢复后,客户端能够不出现异常而平滑的<em>自动</em><em>重</em>连?rn rn rn
如何判断一个socket已经断开?
比如说,我建立的这个连接,rnSOCKET sockconn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);rn怎么<em>判断</em> 该sockconn已经<em>断开</em>?rnrn我这是为了处理在服务器与客户机传输数据过程中,客户机意外<em>断开</em>时用的rn
如何判断socket客户端连接断开
我想在服务端通过sendUrgentData(data)来<em>判断</em>客户端是否<em>断开</em>,现在如果我把服务端和客户端都放在同一台电脑上测试没问题,客户端不会接收发送的紧急消息,但当我把服务端和客户端放在不同的电脑上的话,客户端就会接收到服务端发送的紧急消息。这是什么原因?如何禁止客户端不收到紧急消息?我试过setOOBInline(false)也不行,请帮忙!
socket客户端,如何判断服务器是否断开
利用new Socket确实是一种方法。rn但是如果经常的申请<em>socket</em>很浪费资源。rn有没有什么好的办法<em>判断</em>是否已经<em>断开</em>了连接那。
c# 如何判断socket连接断开
private void timer1_Tick(object sender, EventArgs e)rn rn if (<em>socket</em> != null && <em>socket</em>.Connected)rn rn if (<em>socket</em>.Poll(1, SelectMode.SelectRead))rn rn tryrn rn byte[] temp = new byte[1024];rn int nRead = <em>socket</em>.Receive(temp);rn if (nRead == 0)rn rn MessageBox.Show("000连接已<em>断开</em>了,请处理");rn rn rn catchrn rn MessageBox.Show("连接已<em>断开</em>了,请处理");rn rn rn tryrn rn int ii=<em>socket</em>.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>了,请处理");rn rn elsern rn MessageBox.Show(se.Message);rn rn rn rn rn rn目前我用一个定时器来做心跳发送包,但先和服务端连接上,再把网络禁用了rn我这边的客户端一点反应也没有,禁用后,我不停的发包一切也正常没有异常,<em>socket</em>.Connected一直为truern如果才能知道服务端已<em>断开</em>连接了呢
linux 编程 如何判断socket断开???--ongoing
1 利用select ?   2从github上找例子 3 学习asio  c++ library
Socket中怎么判断对方已经断开
Socket中怎么<em>判断</em>对方已经<em>断开</em>?
网络问题:如何判断对方Socket断开!
以前用WinSocket控件时有事件可以得到连接<em>断开</em>,但现在用.Net的Socket类,我看了很多的Socket例子都没有实现这个.rnrn很多CodeProject网上的聊天程序,都是需要客户端连接发送<em>断开</em>请求的.rnrn急求高手!
关于socket判断连接断开
rn以下是个线程函数rn[code=C/C++][/code]rnUINT CMonitorDlg::ThreadFunction(LPVOID pParam)rn WSADATA wsaData;rn SOCKET s; //创建套接字rn int port=PORT; rn int iLen; //从服务器接收的数据长度 rn TCHAR recvbuf[BufferLen]; //接受数据的缓冲器rnrn struct sockaddr_in serv1; //服务器端地址rn serv1.sin_family=AF_INET; //需要连接的服务器地址信息 rn serv1.sin_port=htons(port); //需要连接的服务器地址信息rn serv1.sin_addr.s_addr=inet_addr(p->Ip); //将命令行的IP地址转化为二进制表示的网络字节顺序IP地址rn s=<em>socket</em>(AF_INET,SOCK_STREAM,0); rn rn if(s==INVALID_SOCKET)rn rn AfxMessageBox("<em>socket</em>()failed");//套接字失败rn return 0;rn rnrnrn if(connect(s,(struct sockaddr*)&serv1,sizeof(serv1))==INVALID_SOCKET) rn rn int b=WSAGetLastError();rn //连接失败rn rn else rn //连接成功rn rn p->connectstate=true;rn rnrn do rnrn 在此循环体中我接收数据并对数据做处理(省略部分代码)rn iLen=recv(s,recvbuf,sizeof(recvbuf),0); //接收套接字中的数据放入recvbuf1缓冲区rn rn if(iLen==0) rn rn rn strtempMsg.Format(_T("局 %s 数据传送结束"),p->Name); rn rn return 0;rn rn rn else if(iLen==SOCKET_ERROR)rn rn int err=WSAGetLastError();rn if (err==WSAECONNRESET ||err==WSAECONNABORTED) rn strtempMsg.Format(_T("%s连接中断"),p->Name); rn rn p->connectstate=false;rn rn return -2; //连接异常中断rn rnrn......rn.....省略代码rnrn while//do-whilern //else rn rn close<em>socket</em>(s); //关闭套接字rn WSACleanup();rn return 0;rnrnrnrn[color=#FF0000]因为这个线程创建以后一直在运行,里面的循环体不停地从套接字中取数据并处理数据,但要是我所连接的服务端<em>断开</em>了我如何<em>判断</em>,并<em>自动</em><em>重</em>新连接(而不用关程序<em>重</em>新开)。请高手在我代码基础上添加所需修改的地方,谢谢。[/color]
socket 如何判断客户端是否断开---急
1.如果是发心跳包,,我客户端可能有几千个到几万个。。 心跳包好像<em>判断</em>会需要多久时间。rn2.我记得好像在非阻塞模式下。当客户端异常<em>断开</em>(网线掉了等)好像会抛出异常。rnrnrn求解。。。。(ps:今天有个2.X 差点和他吵起来了 。。火很大)
TCP SOCKET 服务器如何判断客户端断开
客户端与服务器已建立连接rn当客户端意外<em>断开</em>时rn单从服务器端该如何<em>判断</em>客户端已<em>断开</em>? rnrn不使用心跳包rn
用什么来判断Socket已经断开
m_pSocket=new CMySocket(this);rn if(!(m_pSocket->Create()))rn rn delete m_pSocket;rn AfxMessageBox(" create error!");rn rn elsern rn UINT port=1234;rn if( !( m_pSocket->Connect( "192.168.106.212",port ) ) )rn delete m_pSocket; rn//当连接失败,就删除,可是<em>判断</em>m_pSocket是否为空时,还不为空,这是么回事!!!rn rn if (m_pSocket)rn int l=0;rn
如何用socket判断网线断开
为做一个网卡测试程序,我使用的是<em>socket</em>发送和接收数据包进行检测,对网线拨掉的检测我采用的是心跳方式,即:利用时钟控件每秒钟抓取一次连接,失败则表示网线<em>断开</em>如:rnprivate void timer2_Tick(object sender, EventArgs e)rn rn check();rn check_close();rn rnrn void check()rn rn tryrn rn checkInfo = null;rn checkInfo = new IPEndPoint(IPAddress.Parse ("10.12.8.207") , 6600);rn checkSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream , ProtocolType.Tcp );rn checkSocket.Bind(checkInfo);rn rn catchrn rn MessageBox.Show("网线拨除!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);rn rn rn void check_close()rn rn checkSocket.Close();rn rn以上代码在网线拨除后可以抓取错误,但是它会过10s秒左右才会抓到错误,而我想实现网线一拨程序立即报错,不知各位大侠有何高见,请赐教.
如何判断一个socket连接已经断开
如何<em>判断</em>一个<em>socket</em>连接已经<em>断开</em>!
socket客户端如何判断服务器是否断开
我现在的应用中,服务器可能会<em>断开</em>,这时需要客户端尝试<em>重</em>新连接。rn我想用recv<em>判断</em>,但一到这里就阻塞了。把<em>socket</em>改成非阻塞模式,recv就马上出错。rn还是什么好方法可以<em>判断</em>吗?
c#如何判断串口是否断开,并自动新插上后自动
串口初始化并开始接收后,可能会因为外界缘故而物理<em>断开</em>,然后在人工插回去rn如何<em>判断</em>串口的状态,并在串口接回去后<em>自动</em><em>重</em>连rn注:使用serialport类rn
Java Socket 如何判断客户端断开
我做了个多线程的服务器程序 线程中等待客户端的消息 部分代码如下:rn rn boolean done=clientRequest.isConnected();//<em>判断</em>客户端Socket是否连接rn rn while(done)//客户端是连接的rn rn try rn rn input = clientRequest.getInputStream();rn Binput = new BufferedInputStream(input);rn str = "" + Binput.read();rn if(Binput.read()!= -1)//如果客户端有消息就打印出来rn rn System.out.println(str);rn rnrn rn catch (IOException e)rn rn e.printStackTrace();rn rn rn if(clientRequest.isclosed())//<em>判断</em>Socket是否关闭rn rn done=false;//如果关闭,就跳出无限循环(while)rn rn rnrn 我的代码能实现服务器与客户端的通信rn 问题是: 当客户端中断或退出 以上代码却不能<em>判断</em>Socket中断 跳不出while的无限循环rn 请哪位大侠指点一二 小弟不慎感激......
socket服务器端如何判断连接断开
使用TCP当客户端执行rn::close<em>socket</em>(s);rn::WSACleanup();rn之后,是否会向服务器发送一个<em>断开</em>连接的消息好让服务器释放套接字<em>重</em>新开始监听?rn服务器端如何<em>判断</em>连接<em>断开</em>?
客户端非正常断开,服务端怎样判断并中断连接?
如题,请给一点具体的代码,特别是怎样中断客户端连接的代码,谢谢
ubuntu自动连l2tp并转发
#<em>自动</em><em>重</em>连shell#!/bin/sh ppp0_flag=`ifconfig | grep ppp0` echo $ppp0_flag if [ -z &quot;$ppp0_flag&quot; ];then echo &quot;connet to vpn ...&quot; # connet vpn # USER_PASSWORD 为用户密码,这样的方式就不用输入密码了。 # echo PASS...
怎样判断socket断开连接
正在进行<em>socket</em>通讯的应用程序,通讯双方不需要对方验证,即对方不用返回应答数据包,在网线<em>断开</em>的情况下,怎样<em>判断</em><em>socket</em><em>断开</em>。
怎样断开其他进程创建的SOCKET套接字连接?
如果用自己的程序来控制其他进程创建的SOCKET连接(仅TCP)?比如<em>断开</em>操作。如果可行。这种思路在WIN2000下是否可行?是否牵扯到权限问题?
在SOCKET 客户端如何判断 SOCKET 服务端连接断开
在SOCKET 客户端发送请求,并接受服务端的响应,如果服务端出现故障或网络掉线等,客户端如何能检测出来,在服务端解决故障或网络恢复后,客户端<em>重</em>新建立连接,使其正常工作。
Socket 网络断开
在维护一个网络通信程序,用是的阻塞模式。rn当客户连上服务器后,把客户的网络<em>断开</em>(物理断网),客户一直显示连接上服务器,服务器也一直显示客户端在线。rn这是因为客户连上后一直在等待服务器端发过来数据receive阻塞了,有没有办法就是让他receive来不接收数据了呢?rn就是在一段时间后没收到数据就报一个异常?rnrn我想通过另一个线程来检测如果上一次接收数据与现在超过1分钟就将Socket关闭,但是receive还是没有退出或抛出异常。因为现在所的功能都用一个<em>socket</em>,没法改成异步模式。rnrn有其余解决办法?
c#如何断开socket
场景是这样的,一个<em>socket</em>,连接服务器,发送数据,接收服务器回复,处理完成,然后再<em>断开</em>rn可能还会再连接rnrn前面连接,发送,接收回复,处理都没有问题,<em>断开</em>连接后,再连接就会出错rnrnSocket tcpclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn<em>断开</em>连接时,使用如下方法rntcpclient.Disconnect(true); 提示无效参数rnrntcpclient.Shutdown(SocketShutdown.Both); 提示由于以前的关闭调用,套接字在那个方向已经关闭,发送或接收数据的请求没有被接受。rnrntcpclient.Close(); 提示无法访问已释放的对象。rnrn到底怎样才能<em>断开</em>连接?rnrn另外谁能给一个通过<em>socket</em>发送和接收object的例子?
怎么断开Socket连接
多个Socket连接到ServerSocket同一个端口上,怎么在ServerSocket(server)端<em>断开</em>指定的Socket连接?
Socket断开问题
基于TCP/IP的通讯,利用Socket API进行变程rn遇到这样一个问题,如果服务器端程序主动<em>断开</em>的话,客户端会捕获到F_Close事件rn但是,如果发送如果网络物理中断,比如网线拔掉,rn那么客户端,就不会捕获到连接中断rnrn不知,各位网络高手,如何处理这类问题
关于SOCKET断开的问题
请问我在机器A上开了一个服务器<em>socket</em>,在机器B上开了一个客户端<em>socket</em>,然后在两者建立连接后,把机器B热启动(按reset键),为什么服务器<em>socket</em>却检测不到客户端<em>socket</em>的<em>断开</em>。
socket连接总断开
unix操作系统下,客户端和服务端的通信是在建立<em>socket</em>连接的基础上建立的,并且要求连接能长期建立而不<em>断开</em>,现在发现在运行过程中,总是过一段时间<em>socket</em>连接就<em>断开</em>了,想截取当时的tcp包看看是谁先<em>断开</em>的,为什么<em>断开</em>?但是<em>断开</em>的时间没有规律,不知道如何截取?请高手指点一下,有没有办法可以截取到<em>断开</em>时的tcp包,或者有没有别的办法分析一下<em>断开</em>的原因????
Socket断开的问题
我现在在做一个网络通信程序,现在有一个问题不知道如何解决,大家帮帮我。rn就是在网络异常<em>断开</em>的情况下,服务器不会返回0字节的封包,也不会触发异常,我要如何才能让服务端知道网络连接已经<em>断开</em>呀?
Socket经常连接断开
我做了一个普通的Socket的通信的程序,但是做为服务器时,客户端不断的连接然后<em>断开</em>,导致服务器异常,不知道这个问题怎么解决
socket异常断开处理问题
如何在线程中<em>判断</em><em>socket</em>是否处于连接中rn private void Socket_Listen()rn rn IPAddress ServerIp = IPAddress.Parse(Functions.RegeditFunc.IpAddress);rn IPEndPoint IEP = new IPEndPoint(ServerIp, Functions.RegeditFunc.DLPort);rn Socket Socket_L = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn Socket_L.Bind(IEP);rn Socket_L.Listen(0);rn while (true)rn rn newSocket = Socket_L.Accept();rn Thread_Recv = new Thread(new ThreadStart(Socket_Recv));rn Thread_Recv.Start();rn rn rnrn private void Socket_Recv()rn rn Socket_R = newSocket;rn while (true)rn rn if (Socket_R.Available != 0)rn rn RecvByte = new byte[Socket_R.Available];rn Socket_R.Receive(RecvByte);rn Thread_Data = new Thread(new ThreadStart(Data_Process));rn Thread_Data.Start();rn rn rn rn现在<em>socket</em>意外<em>断开</em>后Socket_Recv一直挂,没有释放掉。在Socket_Recv线程中改如何<em>判断</em><em>socket</em>是否连接着。rn
socket断开的问题解决方法
我想请问一个问题就是利用<em>socket</em>来做通信的时候,rn如果服务器的网络突然断掉了,或者通俗一点就是网线突然断了,那这个时候我连接到服务器的客户端怎么知道呢?一般像这种情况怎么解决,通常采用什么样的rn方法来解决网络通信中的各种异常情况呢?
Socket的FIN断开问题
以下是抓的数据包,这个没有问题的数据rn[img=https://img-bbs.csdn.net/upload/201509/05/1441444648_554695.jpg][/img]rnrn这个是我程序模拟的数据包,但到最后一个包时 ,一发 Socket就收到FIN包,数据包的内容跟抓到的数据包是一模一样的rn[img=https://img-bbs.csdn.net/upload/201509/05/1441444659_856846.png][/img]rnrn求助啊 找了两个的资料了 都没搞定 没有任何头绪,求大神帮忙,只有200分了 所有分都押上了
socket 断开信号捕捉
情形 client - server 通过一个 USB 虚拟网卡(由server 设备供电)连接,TCP/IP 通讯rnrnclient - server 都起来了并正常通信,rnrn关闭 server 设备的电源,这一个通信<em>断开</em>的信号怎么捕捉?
关于socket断开的问题
我在调试程序时发现。我如果不查看<em>socket</em>变量的内容,则不<em>断开</em>,一但我查看该变量的内容,那么<em>socket</em>在第一次的connected属性为true,第2次再查看该属性为false,请问为什么?
关于断开socket连接
需要HTTP通信。rn目前是这么处理的:rn创建一个线程,线程中connect,send http请求,然后recv http返回信息,关闭线程。rnrn这样做看似没有问题,但是connect,send或者recv可能正在执行,或者阻塞了,这时我想退出程序,所以就直接杀掉线程,那么,这些connect,send,recv操作也会结束掉么?
HTTP服务器断开socket连接
使用<em>socket</em>进行http通信如果文件比较小且2-3分钟内能下载完毕则一切正常rn但是如果超过了3分钟服务器会将服务链接<em>断开</em>。但是用IE下载则没有这个问题rn请问个问题怎么解决?rn提交的HTTP头如下:rnGET /download/weather/WIND/ HTTP/1.1\r\nrnAccept:*/*\r\nrnAccept-Language :zh_cn\r\nrnAccept-Charset :gb2132\r\nrnHost:seaweb.wni.co.jp\r\nrnUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)\r\nrnConnection: Keep-Alive\r\nrnAuthorization: Basic ....\r\nrn\r\nrn用户名密码部分就不提供了
如何断开socket的连接
利用udp进行bind的<em>socket</em>,如何能够<em>断开</em>连接?
TCP通讯客户端怎样判断与服务器端断开
[b]大虾们,神们,C# winform里面,采用多线程监听端口,接收方式为阻塞式,创建单一线程进行监听函数,这样阻塞时只阻塞单一线程,对主线程没有影响,并使用异步通信模式,来一个连接后回调函数进行解析入库。这是我的实现原理,目前有个问题,如何在客户端检测到与服务器<em>断开</em>,目前我只能做到写入TXT文档里面,看文档查看最后一次连接时间,如下:rn------------------------告警信息2012-2-22 23:31:04--------------------------rn共计接收300条数据,接收数据长度为:297字节,换算单位为0KB,解析与过滤后没有符合条件的数据入库!rnrn如何在客户端检测到与服务器<em>断开</em>rn[/b]
TADOconnection怎样判断数据库已断开
有时因网络原因,数据库<em>断开</em>,程序怎样通过TADOconnection组件<em>判断</em>
怎样判断网络已经断开呢??求助!!
其实这个功能挺好实现的,但是对这个功能的反应时间有限制,最好在 1-2s 就能共反应。rnrn就好比桌面右下角的网络连接的图标,<em>断开</em>网线,它马上就能显示出来,做到它的速度就好了rnrn帮忙解决小弟的问题,谢谢大家了!!
怎样判断数据库连接已经断开(ADO)
怎样<em>判断</em>数据库连接已经<em>断开</em>(ADO)
怎样判断连接真正断开?Help!!!!
用ADO的Connection对象连接SQL Server,用close方法关闭,怎样<em>判断</em>彻底与数据库彻底<em>断开</em>连接?
WinSock怎样判断GPRS终端设备意外断开
大家知道,用 WinSock控件编写C/S程序的时候,在WinSock_Close或者WinSock_Error事件里可以获取客户端关闭的信息(哪怕是客户端程序意外关闭,都会在服务器端产生WinSock_Close事件,从而可以知道客户端已经<em>断开</em>连接)。rnrn我的问题是,如果客户端是GPRS连接的终端设备,如果<em>断开</em>了,好像WinSock_Close和WinSock_Error事件就无法获取了。请问这个怎么解决?大家有没有好的方法知道GPRS终端设备意外断网,服务器马上就能知道(不要发送数据来<em>判断</em>客户端)。rnrn目前的GPRS设备的模块是SIMCOM300,采用DNS域名访问。rnrn谢谢。
Java Socket: 服务器启,客户端自动
-
判断本地连接是否断开
如何在 C# 下<em>判断</em>本地连接是否<em>断开</em>?
怎么判断服务器程序断开??
客户端怎么<em>判断</em>服务器程序<em>断开</em>??最好有代码。rnrnOICQ是怎么实现的???
判断TCP断开
谢谢http://blog.csdn.net/sjin_1314/article/details/8897588。试了方法2有效。#include int IsSocketConnected(int sock) { struct tcp_info info; int len=sizeof(info); if(sock<=0){
如何判断网络断开???
把网线拔掉这种情况啊如何<em>判断</em>,听别人说用什么ICMP协议或Ping命令,不知道怎么用rn请高手指点!!!
如何判断网络断开
象InternetGetConnectedState这类的函数,是<em>判断</em>是否上了互联网的,我需要的不是这个。rn我是自己组建的局域网,只有我一台机器跟路由的情况下,如何<em>判断</em>我的网线跟路由器<em>断开</em>了?rnrn不用ping的方法,有其他方法吗?
王者荣耀自动连,网络断开解决方案的研究与提出
问题发现和来源:在使用王者荣耀的过程中发现,在进行单机的模式下不会出现任何问题,但是一旦进行与玩家之间的匹配时将会一直出现以上网络<em>重</em>连的恶心情况,导致一直收到惩罚。
网线断开判断
使用java语言,如何<em>判断</em>网线已经<em>断开</em>了呢?rn之后就中止所有下载线程。
jboss 连接数据库断开后,系统自动连接的问题
据说在weblogic,websphere中都可以实现设置test table的方式来恢复应用服务器对数据库的<em>自动</em>连接,也就是在应用服务器运行当中,数据库意外<em>重</em>启或网络中断,过了若干时间后恢复正常后,应用服务器会<em>自动</em>恢复对该数据库的连接(connection pool)的方式。不知道在jboss中如何实现,我用的是jboss-3.2.1_tomcat-4.1.24
WebSocket自动
ReconnectingWebSocket 是JavaScript. WebSocket API 的一个小封装, 提供了在连接<em>断开</em>时<em>自动</em><em>重</em>连的机制。     只需要简单的将: ws = new WebSocket('ws://....');       替换成: ws = new ReconnectingWebSocket('ws://....');      引入js: &amp;lt...
紧急求助,关于检测socket是否断开,并新连接
由于某种原因,打开的<em>socket</em>因为长时间连接后,某种因素<em>断开</em>了,rnrn怎样检测到该<em>socket</em> <em>断开</em>了呢???????rnrnrn由于很急,望高手帮忙解决,非常非常感谢!!!!
连接断开socket不发生异常
我用的是java <em>socket</em>,一个线程对应一个flash客户端.rn复制内容到剪贴板代码:rnrun()rnrn tryrn while(true)rn rn n=dis.readInt();//程序阻塞在这里。n用来接受消息类型,比如说: 数字1 就是登陆消息, 数字2 就是谈话消息rn if(n==1) ..............rn if(n==2) ..............rn if(n==3)..............rn rn catch(Exception e)rn rn finallyrn 后续处理rn rnrn就是类似这样的代码,现在我出现一个问题,就是有时候flash关闭的时候,按说会使服务器端n=<em>socket</em>.readInt();发生异常,异常以后,我在finally里进行后续处理.rn但是有时候,特别是同时关闭几个客户端的时候,有的客户端关闭,不会引起服务器端异常产生,所以程序不会运行到finally里去,我想知道为什么会不产生异常呢?
强行断开SOCKET连接的问题
我的程序里当网络连接与别人机器连接上后,如果别人的程序死机了,我的程序里的那个连接始终连着,无法<em>断开</em>,不知道有没有什么方法能强行<em>断开</em>这个网络连接。望高手指教!
在网络断开的情况下绑定socket
我在使用<em>socket</em>的时候遇到这样一个问题:rnrn取得机器上的网卡列表,然后选择一块网卡,创建一个<em>socket</em>并把<em>socket</em>绑定到该网卡的IP和一个端口值。rn问题是:如果选择的网卡处于<em>断开</em>状态,那么bind函数返回10049。请问这个error是不是不可避免的?谢谢。
SOCKET接受十六次自动断开
<em>socket</em>.sendUrgentData(0) 检测网络状态后,有可能是这样的,windows7不允许某一台主机总在发送紧急数据包,这样会导致信道堵塞,所以当主机发送一定数量的紧急数据包后,该主机就再不允许发送数据包了,即报错。 解决方案:
socket 客户端连接与断开问题
Winform页面上面有连接和退出两个按钮,点击连接:客户端连接上服务器。点击退出:<em>断开</em>网络连接并关闭软件。rn在打开软件就无法连接上服务器了?rn在没和服务器进行数据传输的情况下(这时<em>socket</em>是连接上的)点击退出关闭程序,在<em>重</em>新打开软件是可以<em>重</em>新连接的。rn如果进行了数据通信,退出软件,在<em>重</em>新打开软件就无法连接成功,这是什么原因呢。我点击页面上的开始按钮服务器才会传数据给我,不是一直传输,我这边<em>判断</em>接收量够了就从接收数据循环中退出来,在点击开始然后在<em>重</em>新传输。就是这样的操作流程。rn下面是我的代码rn求大神们帮忙小妹在这里先感谢各位了。非常感谢!rn[img=https://img-bbs.csdn.net/upload/201612/04/1480836202_580622.png][/img]rnrn网络连接rn public bool connectServer(string ipAddress, string portAddress)rn rn //步骤1 配置远程服务器信息rn IPEndPoint removeServer = new IPEndPoint(IPAddress.Parse(ipAddress), Convert.ToInt32(portAddress));rn //步骤2 创建套接字rn s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rn //步骤3 套接字连接远程服务器rnrn if (!displayReply(ipAddress))//ping 网络rn rn return false;//网络超时rn rn elsern rn tryrn rn s.Connect(removeServer);rn if (!s.Connected)rn rn return false;rn rn rn catch (Exception ex)rn rn Other.CreateLog(ex);rn //MessageBox.Show("网络异常,请检查网络!", "提示");rn return false;rn rn connectStatus = true;rn return true;//连接成功rn rn rn退出rn public void closeConn()rn rn tryrn rnrn s.Close();rn s.Disconnect(false);rnrnrn ss.Close();rn ss.Disconnect(false);rn rn catch (Exception ex)rn rn Other.CreateLog(ex);rn rn
SOCKET怎么断开一个连接,
现在有多个客户端连接上了,我想<em>断开</em>一个,该怎么<em>断开</em>。
蓝牙自动
1利用系统中的<em>自动</em><em>重</em>连 getDevice().connectGatt(context, autoConnect, coreGattCallback); private BleGattCallback coreGattCallback = new BleGattCallback() { @Override public void onDisConnected(Blueto...
SOCKET编程:socket连接老是断开?
我现在有个程序,是C/S结构,就挂着不做任何操作,连接也会<em>断开</em>。大概会是什么原因造成的?有时1个多小时,有时候10几个小时。广域网的时候半个多小时,10分钟都会断的。rnrnC/S结构建立了连接,不去动它连接会<em>断开</em>的?我这里肯定有问题的:SOCKET连接建立的不好?阻塞与非阻塞?我现在不知道从哪方面来找到这个问题,从而来解决它~rnrn下面这个现象很奇特:rn我是用心跳包来<em>判断</em>连接是否好坏的(6次接收不到信息就<em>判断</em>连接<em>断开</em>),我记录了S端、C端发送和接收心跳包的次数,发现:连接开始断掉的时候,S端发送的心跳包,C端接收不到,但同时 C端发送的心跳包,S端却能接收到。(有时S与C端互换) ----连接<em>断开</em>么,应该两边都接收不到的啊~rnrn我以前还认为连接其实是好的,是我“心跳包”的问题,一端连续6次接收不到心跳包,就清除了连接。但我把心跳包去掉后程序挂了一段时间,连接也<em>断开</em>的。(我发送文字信息发送不过去了)rnrnrn下面是我关于这个问题发的两个帖子:rn[url=http://topic.csdn.net/u/20101014/08/e8edadc8-6e49-4e92-8bc3-cc7a12c4c0cf.html][/url] (这里有我心跳包部分的函数)rnrn[url=http://topic.csdn.net/u/20101208/16/30647691-04ec-4a78-a7cd-41e7b704feec.html ][/url](这里有我发送和接收部分的函数)
《林锐 - 高质量C C++编程指南》学习总结.doc下载
《林锐 - 高质量C C++编程指南》学习总结 相关下载链接:[url=//download.csdn.net/download/amwfge/2793819?utm_source=bbsseo]//download.csdn.net/download/amwfge/2793819?utm_source=bbsseo[/url]
[SHOPEX]2商品快速浏览扩展下载
商品快速浏览扩展商品快速浏览扩展商品快速浏览扩展商品快速浏览扩展商品快速浏览扩展 相关下载链接:[url=//download.csdn.net/download/chenjianhui2122/3254980?utm_source=bbsseo]//download.csdn.net/download/chenjianhui2122/3254980?utm_source=bbsseo[/url]
IOS侧滑菜单下载
|-- IOS开发 |--根据三方库,来实现侧滑功能 |--积分偏高,是因为这算是公司将要开始的小项目, |--需要登录才能进入,输入用户名即可:100322 |-- 如果有什么好的建议或者更好的SlidingMenu实现方法欢迎留言交流。 相关下载链接:[url=//download.csdn.net/download/w575822446/6740937?utm_source=bbsseo]//download.csdn.net/download/w575822446/6740937?utm_source=bbsseo[/url]
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件
我们是很有底线的