怎样判断accept()的SOCKET是否已经关闭?

C/C++ > C++ 语言 [问题点数:20分,结帖人zyq_123]
等级
本版专家分:207
结帖率 98.66%
等级
本版专家分:58329
勋章
Blank
红花 2003年6月 C/C++大版内专家分月排行榜第一
2002年5月 C/C++大版内专家分月排行榜第一
Blank
黄花 2003年9月 C/C++大版内专家分月排行榜第二
2002年6月 C/C++大版内专家分月排行榜第二
2002年4月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2007年3月 C/C++大版内专家分月排行榜第三
2007年2月 C/C++大版内专家分月排行榜第三
2007年1月 C/C++大版内专家分月排行榜第三
2003年7月 C/C++大版内专家分月排行榜第三
等级
本版专家分:207
等级
本版专家分:65
等级
本版专家分:67244
勋章
Blank
红花 2013年8月 Linux/Unix社区大版内专家分月排行榜第一
2012年11月 Linux/Unix社区大版内专家分月排行榜第一
2012年10月 Linux/Unix社区大版内专家分月排行榜第一
2012年9月 Linux/Unix社区大版内专家分月排行榜第一
2012年7月 Linux/Unix社区大版内专家分月排行榜第一
2012年6月 Linux/Unix社区大版内专家分月排行榜第一
2012年5月 Linux/Unix社区大版内专家分月排行榜第一
2011年11月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2013年6月 Linux/Unix社区大版内专家分月排行榜第二
2013年5月 Linux/Unix社区大版内专家分月排行榜第二
2013年3月 Linux/Unix社区大版内专家分月排行榜第二
2013年1月 Linux/Unix社区大版内专家分月排行榜第二
2012年12月 Linux/Unix社区大版内专家分月排行榜第二
2012年8月 Linux/Unix社区大版内专家分月排行榜第二
2011年12月 Linux/Unix社区大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第二
2011年10月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2012年6月 C/C++大版内专家分月排行榜第三
2012年6月 PHP大版内专家分月排行榜第三
2012年5月 C/C++大版内专家分月排行榜第三
2012年3月 Linux/Unix社区大版内专家分月排行榜第三
2012年2月 Linux/Unix社区大版内专家分月排行榜第三
2011年11月 C/C++大版内专家分月排行榜第三
等级
本版专家分:67244
勋章
Blank
红花 2013年8月 Linux/Unix社区大版内专家分月排行榜第一
2012年11月 Linux/Unix社区大版内专家分月排行榜第一
2012年10月 Linux/Unix社区大版内专家分月排行榜第一
2012年9月 Linux/Unix社区大版内专家分月排行榜第一
2012年7月 Linux/Unix社区大版内专家分月排行榜第一
2012年6月 Linux/Unix社区大版内专家分月排行榜第一
2012年5月 Linux/Unix社区大版内专家分月排行榜第一
2011年11月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2013年6月 Linux/Unix社区大版内专家分月排行榜第二
2013年5月 Linux/Unix社区大版内专家分月排行榜第二
2013年3月 Linux/Unix社区大版内专家分月排行榜第二
2013年1月 Linux/Unix社区大版内专家分月排行榜第二
2012年12月 Linux/Unix社区大版内专家分月排行榜第二
2012年8月 Linux/Unix社区大版内专家分月排行榜第二
2011年12月 Linux/Unix社区大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第二
2011年10月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2012年6月 C/C++大版内专家分月排行榜第三
2012年6月 PHP大版内专家分月排行榜第三
2012年5月 C/C++大版内专家分月排行榜第三
2012年3月 Linux/Unix社区大版内专家分月排行榜第三
2012年2月 Linux/Unix社区大版内专家分月排行榜第三
2011年11月 C/C++大版内专家分月排行榜第三
等级
本版专家分:67244
勋章
Blank
红花 2013年8月 Linux/Unix社区大版内专家分月排行榜第一
2012年11月 Linux/Unix社区大版内专家分月排行榜第一
2012年10月 Linux/Unix社区大版内专家分月排行榜第一
2012年9月 Linux/Unix社区大版内专家分月排行榜第一
2012年7月 Linux/Unix社区大版内专家分月排行榜第一
2012年6月 Linux/Unix社区大版内专家分月排行榜第一
2012年5月 Linux/Unix社区大版内专家分月排行榜第一
2011年11月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2013年6月 Linux/Unix社区大版内专家分月排行榜第二
2013年5月 Linux/Unix社区大版内专家分月排行榜第二
2013年3月 Linux/Unix社区大版内专家分月排行榜第二
2013年1月 Linux/Unix社区大版内专家分月排行榜第二
2012年12月 Linux/Unix社区大版内专家分月排行榜第二
2012年8月 Linux/Unix社区大版内专家分月排行榜第二
2011年12月 Linux/Unix社区大版内专家分月排行榜第二
2011年10月 C/C++大版内专家分月排行榜第二
2011年10月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2012年6月 C/C++大版内专家分月排行榜第三
2012年6月 PHP大版内专家分月排行榜第三
2012年5月 C/C++大版内专家分月排行榜第三
2012年3月 Linux/Unix社区大版内专家分月排行榜第三
2012年2月 Linux/Unix社区大版内专家分月排行榜第三
2011年11月 C/C++大版内专家分月排行榜第三
等级
本版专家分:12840
勋章
Blank
铜牌 2012年9月 总版技术专家分月排行榜第三
Blank
红花 2012年9月 Windows专区大版内专家分月排行榜第一
2012年9月 C/C++大版内专家分月排行榜第一
2012年8月 Windows专区大版内专家分月排行榜第一
Blank
黄花 2012年9月 其他开发语言大版内专家分月排行榜第二
2012年8月 VC/MFC大版内专家分月排行榜第二
2012年8月 其他开发语言大版内专家分月排行榜第二
Blank
蓝花 2012年10月 其他开发语言大版内专家分月排行榜第三
2012年9月 VC/MFC大版内专家分月排行榜第三
等级
本版专家分:993
等级
本版专家分:170
等级
本版专家分:7434
勋章
Blank
黄花 2012年1月 C/C++大版内专家分月排行榜第二
zyq_123

等级:

accept如何退出问题

1、accept的写法  socket = WSAAccept(m_socket, ……);  if(socket == INVALID_SOCKET)  continue;2、主线程写法  shutdown(m_socket, SD_BOTH);  closesocket

关于socketAccept阻塞模式的退出方法分析

众所周知,socketAccept会当前线程。如果子程序,或者类在被回收时,没有正确的中止socket,则会引发一些异常。 我说一下常用的一些方法: 1.强行中断线程。  这种方法我觉得是最差的,因为强行中断正在执行的...

socket编程accept函数返回值的理解

accept函数返回值成功时返回非负值,失败时返回-1accept函数接受一个客户端请求后会返回一个新的SOCKFD值,当有不同的客户端同时有不同请求时,会返回不同的SOCKFD的值。这个不同的值和建立SOCKET 时生成的SOCKFD...

如何判断SOCKET已经断开

 最近在做一个服务器端程序,C/S结构。功能方面比较简单就是client端与server端建立连接,然后发送消息给...这就涉及到一个问题,如果socket连接断开(异常,正常)后,我如何才能感知到?server端这边是绝对被动

java socket的正确关闭姿势

java socket对应的是网络协议中的tcp,tcp的三次握手、四次挥手、11中状态什么的这里就不说了,不知道大家平常使用socket的时候如果不注意的情况下,会不会遇到各种异常报错。 例如: java.net.SocketException:...

如何让socketaccept线程安全退出

今天,在linux上实现程序的graceful shutdown功能,通过log发现一个socketaccept线程怎么样也不退出,即使是调用了shutdown和close。 回来通过google才发现,调用shutdown和close并不能够让accept()自动...

网络编程中重要函数总结:如何判断socket关闭

1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值 2、阻塞模式与非阻塞模式下write的返回值各代表什么意思...

Javaclient端怎么判断server端socket是否已经断开

“Javaclient端怎么判断server端socket是否已经断开”: 关键词:javaclient 端 怎么 判断 server 端 socket 是否 已经 断开java client端如何判断server端socket是否已经断开 最近在开发中遇到一个问题,就是如何...

关闭socket的流会导致socket关闭

Java socket关闭IO流后,发生什么事?(以关闭输出流为例) 声明:该博文以socket中,关闭输出流为例进行说明。   为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new B

Socket编程中的强制关闭与优雅关闭及相关socket选项

首先需要区分一下关闭socket关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这里不详细描述了。而关闭socket是指关闭用户...

如何关闭一个正在accept的ServerSocket?

加入一个ServerSocket正在另一个线程堵塞accept,那如何停止accept或者关闭Socket? <br />Server socket 设置下超时 setSoTimeout 然后在Listen线程中用interrupt <br />其实直接close...

socket 中listen() 与accept() 的一些理解

在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。   accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新...

C#服务端判断客户端socket是否已断开的方法

刚开始,用Socket类的Connected属性来实现,却发现行不通,connected只表示 是在上次 还是 操作时连接到... 后来有人说可以用Socket.Available属性来判断Socket.Available表示获取已经从网络接收且可供读取的数据

Java socket关闭IO流后,发生什么事?(以关闭输出流为例)

声明:该博文以socket中,关闭输出流为例进行说明。   为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new BufferedOutputStream(mySocket.getOutputStream()));中的dout做为Socket输出流的...

Python中网络编程对 socket accept 函数的理解

在服务器端,socket()返回的套接字用于监听(listen)和接受(accept),这个套接字不能用于与客户端之间发送和接收数据。 accept()接受一个客户端的连接请求,并返回一个新的套接字,不同于以上socket()返回的用于...

java利用本地Socket关闭正在挂起的ServerSocket.accept()的方法

public void runServerLoop(){ while(runswitch){ Socket socket=null;...socket=serverSocket.accept(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(s

socket多线程无法close的问题

现在遇到一个情景,处理数据的代码运行在A线程里,在B线程里对A中的socketaccept进行close,结果每次都卡在accpet那里,无法close成功,因为在本线程中,socket可以正常关闭,但是如果在B线程来关闭A线程中的的...

网络编程socket accept函数的理解

在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。   accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新...

Socket编程】Tcp连接中accept生成新socket与监听socket的区别

参考自:socketaccept函数解析以及服务器和多个客户端的端口问题(L未若的博客) 新建立的连接使用的端口号是否和listen所用端口号相同呢? 如果认为是会分配新的端口,就大错特错了。因为: 1、现在使用多路IO...

C#socket通信时,怎样判断socket双方是否断开连接

我在Server端new了一个socket,然后bind,开了一个线程来accept前来连接的client,每接到一个client前来连接就新开一个线程和它...判断socket是否断开连接,网上有N种说法:1.Socket.Connected这个属性只能说明上一...

socket accept后的fd是否占用新端口

今天小组讨论了下自动化部署的架构与实现。在讨论推送配置的时候,我发现了一个问题,这也让我知道了我以前一直忽略的一个东西...大家都很熟悉,在server端编程,首先得创建一个socket并bind一个地址,然后进行listen和

Python中网络编程对socket accept函数的理解

在服务器端,socket()返回的套接字用于监听(listen)和接受(accept),这个套接字不能用于与客户端之间发送和接收数据。   accept()接受一个客户端的连接请求,并返回一个新的套接字,不同于以上socket()返回...

如何判断Socket连接失效

在开发工程中对Socket进行管理时对于这个连接的超时和是否失效进行研究。结果网上的资料很是让人失望,可以说google和百度下来,前几页原创很少都是抄袭。 说正经的,对于连接超时和失效肯定会想到设置超时时间和...

C#学习笔记(1):中断被Socket.Accept阻塞的线程

监听代码是放在一个线程中,当在线程中调用Socket.Accept()函数时,倘若这时需要中止该线程,C#似乎没有提供现成的办法,使用了Thread.Abort()和Thread.Interrupt()函数,都没有用。有人说用异步Accept方法避免阻塞...

Socket的正确关闭(改良版)

http://blog.csdn.net/hunkcai/article/details/5803651

异步socket优雅的关闭-CancelIO和SO_LINGER

假如我们直接采用closesocket方法进行关闭的话,绑定到IO端口的此套接字的未发送的数据就会丢失,这种情况是我们不愿意发生的。下面介绍一种合理关闭此套接字的方法:   首先,利用setsockopt(MSDN)函数设定套接字...

socket关闭之close()和shutdown()的差异

对于一个tcp连接,在c语言里一般有2种方法可以将其关闭:close(sock_fd); // 或者 shutdown(sock_fd, ...);123多数情况下这2个方法的效果没有区别,可以互换使用。除了:close() 是针对file的操作shutdown() 是针对...

多线程下socket的bind、accept函数分析以及对socket端口号的深入理解

我们知道,在TCP协议下的网络通讯,服务器在accept之后会生成一个新的套接字与客户端进行通讯,这个新套接字的端口是提供给客户端的,所以是属于客户端的端口,等下有试验证明。 一般来说,服务器accept返回的这个...

linux socket编程client关闭时server崩溃问题

linux socket编程client关闭时server崩溃问题

相关热词 c# 委托timeout c#微信模板消息开发 c# 刷新托盘 .csproj版本 c# dll文件 vc引用c# c#添加一个sheet页 c# 电子秤调串口 c# 方法 自动生成 c# 整数保留两位小数点 c# sdk 微信