当前位置:  技术问答>linux和unix

如何判断socket断开连接

    来源: 互联网  发布时间:2015-09-11

    本文导语:  除了看recv返回值还有什么好的方法吗? 以前在windows下方法好多,甚至就连select();都能,getsockopt也行,可是在linux下我试过select不行. 还有别的方法吗,不知道getsockopt能判断吗,怎么判断。或者有更好的判断方法 | ...



除了看recv返回值还有什么好的方法吗?
以前在windows下方法好多,甚至就连select();都能,getsockopt也行,可是在linux下我试过select不行.
还有别的方法吗,不知道getsockopt能判断吗,怎么判断。或者有更好的判断方法

|
结果select返回1了,这没问题呀,
以下摘自
A socket is ready for reading if any of the following four conditions is true:
b.The read half of the connection is closed (i.e., a TCP connection that has received a FIN). A read operation on the socket will not block and will return 0 (i.e., EOF).

A socket is ready for writing if any of the following four conditions is true:

b.The write half of the connection is closed. A write operation on the socket will generate SIGPIPE

|
好像是读socket的信息,为0就表示断开了,随便找本UNIX网络编程的书上就有

|
select为什么不行?你是怎么试的?
如果在写socket时连接已经关闭,会产生SIGPIPE信号,这个也可以来判断连接已经关闭

|
close一个select监听就是不退出。我遇到这问题还没解决。

|
up

|
在linux下select 的第一个参数一定要填对, windows则不需要。
我曾经在这个问题上花了一天才弄明白。这是可能性最大的错误

    
 
 

您可能感兴趣的文章:

  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • 急问:怎么判断一个非阻塞的socket已经断开了?
  • socket问题,当客户端关闭或者实际链路断开后服务器端怎么判断?
  • 如何编程实现,判断本机网线是否断开?
  • 怎样判断socket断开并自动重连?
  • linux->shell-> if 条件判断,关于软连接的判断!
  • [请教]如何join命令将两个文件连接(当进行连接判断的字段是数值类型)
  • 如何用命令判断一个目录是否是符号连接?
  • c#判断网络连接状态的示例分享
  • 在servlet中如何判断网页连接超时???
  • 大侠们,我是新手,请教怎么判断串口是否有连接
  • FTP连接如何判断超时
  • C下判断socket连接状态,怎么实现
  • Android中监听判断网络连接状态的方法
  • 在dos 命令下,用什么命令可以判断出,FTP连接成功以及一个文件是否上传成功?
  • 在linux操作系统如何判断传真机,扫描仪,打印机是否当前连接??
  • 如何在recv时判断出对方已中断连接?
  • 用select怎么判断是否有一个连接进来???
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • AIX主机如何判断SOCKET连接对方的是什么进程
  • 如何在C下面判断一个文件是不是连接?
  • 怎么用shell判断远程ftp是否连接成功
  • 在一个TCP连接完成后进行通信,如何判断对方已经关闭了?
  • c#判断网络连接状态
  • 请问JDBC连接中如何判断一个表是否存在呀?你开个价
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Vectors 成员 empty():判断Vector是否为空(返回true时为空)
  • shell如何判断文件是否存在,如何判断变量是否为空
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 在判断自符是否等于**时,用equals(“**”),那么如果我想判断它的值是否>=2该用什么呢?
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 我是学pb的,判断闰年的是isdate("2-28"),但在java里怎么判断呢?
  • linux 下的自解压文件是什么格式,如何判断文件是否为自解压c++或者脚本判断均可
  • mysql中如何判断当前是字符 mysql判断字段中有无汉字
  • 知道TCP/UDP的包头,如何判断其应用层协议类型,struct tcphdr和 struct udphdr结构中那个变量能判断应用层协议类型。
  • c#判断字符是否为中文的三种方法分享(正则表达式判断)
  • 如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?
  • 如何判断一个数是否为4的幂次方?若是,并判断出来是多少次方?
  • 判断图片-判断位图是否是黑白图片的方法
  • JQuery 判断某个属性是否存在hasAttr用法
  • 请问如何判断一个文件夹是否存在
  • 判断文件格式的c库函数
  • sftp命令如何判断成功与否?
  • java/j2ee iis7站长之家
  • java判断远程服务器上的文件是否存在的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3