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

if( (n=Readline( sockfd,line,MAXLINE) )==0)为什么服务器接收到客户FIN时,Read返回的是0。,既然FIN被读出来了,为什么Read返回的是0

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

    本文导语:  if( (n=Readline( sockfd,line,MAXLINE) )==0) 为什么服务器接收到客户FIN时,Read返回的是0。 问:Read返回的是0 是什么意思? 是表示什么都没有读出来吗?但是书上又说有FIN被读出来了,既然FIN被读出来了,为什么Read返回...

if( (n=Readline( sockfd,line,MAXLINE) )==0)

为什么服务器接收到客户FIN时,Read返回的是0。

问:Read返回的是0 是什么意思? 是表示什么都没有读出来吗?但是书上又说有FIN被读出来了,既然FIN被读出来了,为什么Read返回的是0?

|
FIN是由TCP确认,而后让应用层read返回0.

|
read return 0 表示对端被关闭了!

|
就这样规定的呗, 你的意思要返回1? 那你怎么知道客户发送的是fin还是一般的字符,难道每次都要检查吗?

|
客户端还没有内容写进去
应该先select这个端口是否可读,然后再去read。
或者把socket改成阻塞模式
推荐第一种方法

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.io类linenumberreader的类成员方法: readline定义及介绍
  • readline问题
  • java命名空间java.io类bufferedreader的类成员方法: readline定义及介绍
  • readline
  • java命名空间java.io类datainputstream的类成员方法: readline定义及介绍
  • 求关于gnu readline library的文档!
  • java命名空间java.io类objectinputstream的类成员方法: readline定义及介绍
  • readline替代品 linenoise
  • java命名空间java.io类randomaccessfile的类成员方法: readline定义及介绍
  • readline 封装程序 rlwrap
  • java命名空间java.io类console的类成员方法: readline定义及介绍
  • 非常奇怪的IO,bufferedReader.readLine()问题。。。
  • java命名空间javax.imageio.stream类imageinputstreamimpl的类成员方法: readline定义及介绍
  • DataInputStream和BufferedReader的readLine方法
  • java命名空间javax.imageio.stream接口imageinputstream的类成员方法: readline定义及介绍
  • BufferedReader中的确readLine()读不完?请大家帮帮小弟
  • java命名空间java.io接口datainput的类成员方法: readline定义及介绍
  • warning: readLine() in java.io.DataInputStream has been deprecated请问
  • 非常奇怪的IO,bufferedReader.readLine()问题。。。 iis7站长之家
  • 如何以字节流读取一个文件,以readline()读出?大哥快帮忙!
  • 我正在作一个简单的telnet客户端的程序,我的DataInputStream的in.readLine()不对?十万火急!!请高手点拨!!!!另外,为什么我只能给29分,本来我给的100分的!?


  • 站内导航:


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

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

    浙ICP备11055608号-3