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

奇怪的问题 奇怪的问题,向大家请教

    来源: 互联网  发布时间:2016-03-29

    本文导语:  read 系统调用的问题: n=read(sockfd ,buff,sizeof(buff));  用这个语句从tcp套接口读数据到buff中,假如客户端发送64字节数,这个语句能成功的读取64字节数据,n的值是64。 但是当我 在一个循环里如下使用时:       ...

read 系统调用的问题:

n=read(sockfd ,buff,sizeof(buff));  用这个语句从tcp套接口读数据到buff中,假如客户端发送64字节数,这个语句能成功的读取64字节数据,n的值是64。
但是当我 在一个循环里如下使用时:
                               while ( (n=read(sockfd ,buff,sizeof(buff))>0 ) {
                                          // 执行体
                                                }
         n 的值确是1,不明白是为什么 ,执行的环境都是一样的,客户端发送,read 读取,在循环里时n 怎么是1呢,应该是客户端发送的字节数64啊 ? 请指教 ,谢谢哦
 

|
while ( (n=read(sockfd ,buff,sizeof(buff))>0 ) 
能编译的过吗?是不是少了括号啊,=和>的优先级搞清楚了吗?
想通了记得把分给我

|
少了一对括号,刚在机器上验证了,lz 的用法导致read的返回值先关系运算结果为真n的值故为1。 编程要仔细啊

|
重新贴代码上来,肯定是代码有问题: n的值取了逻辑运算的结果,而不是read()返回的字节数

|
 while ( (n=read(sockfd ,buff,sizeof(buff))>0 ) { 
                                          // 执行体 
                                                } 
你这样写N应该是1,因为少对括号()你这样先只执行read(sockfd ,buff,sizeof(buff))>0判断在赋值给n,所以n是1

|
有一种可能,就是客户端有发送了一个别的字节。可以用tcpdump来看一下客户端到底发送了什么数据。

    
 
 

您可能感兴趣的文章:

  • shm_open函数问题.奇怪!!!奇怪!!!!!
  • 好奇怪的问题哎………………怎么也不能安装!
  • unix下的非常的奇怪WC的问题,向unix高手请教 好急呀!!!!!!!!!!!!!!!
  • 关于LINUX I2C,GCC的奇怪问题。。。问题依旧。。
  • 奇怪,怎么“已解决”问题只有4页(10/17日之后的),以前的已解决问题到哪里看?
  • 问一个很奇怪的线程调用的问题
  • 很奇怪的shell问题
  • 一个奇怪的路径问题
  • 奇怪!关于字串参数的问题?
  • ————奇怪的现象:不能关闭TOMCAT的问题————
  • 使用FC4一个奇怪问题,放入光盘后死机?
  • !!!初学Java,遇到一个奇怪问题,请大家回答!!!
  • SOCKET发送奇怪问题!!!
  • 请教redhat8.0中的两个问题~奇怪啊~
  • 引用的奇怪问题
  • 碰到个很奇怪的串口问题
  • killall 奇怪的问题,百思不得其解
  • jsp Web 部署后的奇怪问题???
  • rmmod出现的奇怪问题,求解,急急!
  • 一个奇怪的Java问题
  • 一个很奇怪的问题请教大家
  • 很奇怪的问题,请教各位大虾
  • netlink的问题,很奇怪,请教高手。
  • 请教个奇怪的声音问题
  • 请教一奇怪的环境变量的问题
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 一个奇怪的现象,请教,在线等,麻烦您了,急
  • 非常奇怪的关于EJB的环境配置问题.请教高手!!
  • 请教高手:相当奇怪,内核打印:No NAND device found,但能正常进入根文件系统
  • 请教一个奇怪的问题
  • linux下奇怪的编译错误!高分请教!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪,真奇怪,在线等待
  • 奇怪奇怪...........?????...........
  • solaris上的C程序,编译报错: 存储类只能使用register,奇怪,奇怪!
  • 奇怪!奇怪!我用jbuilder编jsp程序,从数据库中取出的字符串型字段却显示16进制数
  • 奇怪啊,奇怪,为什么我的JB7做EJB时,只要在EJB设计面板上随便做点东西,我的EJB的JAVA的源码就会变的不见了,或者少了很多字段申明??
  • 奇怪,CSDN的贴子,提问部分我最多能看到第4行??!!
  • accept,recvfrom接收到奇怪的ip
  • 一个特奇怪的函数申明错误
  • 一些奇怪的现象,帮帮我
  • 奇怪的四分之一屏!!
  • 好奇怪啊,大家帮忙啊
  • 奇怪的gets()!!求救!!
  • 奇怪,vi vim有区别?
  • VIM高手进来看,vim中出现了奇怪的颜色。
  • 我遇到的一个巨奇怪的事情:
  • red hat 运行 mysql5.1 出现奇怪提示
  • QT 再现奇怪的问题
  • 关于semget的奇怪问题,请大家帮忙:)


  • 站内导航:


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

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

    浙ICP备11055608号-3