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

linux下socket tcp客户端读取数据

    来源: 互联网  发布时间:2017-01-16

    本文导语:  这是《UNIX网络编程》里的一段代码,用来读取数据, 我用的时候因为不知道将要接受的数据的大小,所以通常定义一个比较大的数组,如: char buffer[1024] = {0}; SocketClass.readn(buffer, 1024); 但是有个问题,当read(m_sock...

这是《UNIX网络编程》里的一段代码,用来读取数据,
我用的时候因为不知道将要接受的数据的大小,所以通常定义一个比较大的数组,如:
char buffer[1024] = {0};
SocketClass.readn(buffer, 1024);
但是有个问题,当read(m_socket, ptr, nleft)数据已经获取完了,下次再读的时候由于服务器那边没有数据过来就会阻塞,怎么解决啊.
不知道说清楚没有,
如:
服务器发送过来的数据只有100个字节,那么当我read完这个100个字节后,while循环还没有退出会继续read,
这时候read当然就没有数据了,但是会阻塞,不知道怎么解决好呢?

int readn(void *vptr, int n)
{
    int nleft;
    int nread;
    char *ptr;

    ptr = vptr;
    nleft = n;
    while (nleft > 0)
    {
        if ((nread = read(m_socket, ptr, nleft)) 

    
 
 

您可能感兴趣的文章:

  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 对于用客户端上网的用户(客户端不支持linux)如何在linux下上网?
  • 在Linux下开发手机客户端或Pc客户端交互的服务器,需要学哪些知识?
  • linux端是服务器,客户端连接后,有时并不知道客户端断开,怎么侦测?
  • linux 能ping通客户端ip,但ping不通客户端的域名。
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • Linux的BBS客户端 QTerm
  • Linux的博客客户端 Drivel
  • Linux 代理 一个客户端来就创建一个连接
  • linux客户端如何配置网络?
  • linux下用kerberos客户端加入windows域的问题
  • 求助:Linux下ftp客户端代码编写
  • linux怎样装那个锐杰认证客户端
  • Linux系统做服务器,客户端可使用windows系列的系统吗
  • Linux的Twitter客户端 Twitux
  • Linux下默认的邮件客户端是什么
  • Linux邮件客户端 Evolution
  • LINUX数据库oracle客户端安装问题
  • Linux 用occi 要安装 oracle客户端吗?
  • 求FTP客户端源程序或相关资料(C,LINUX )
  • 关于linux socket 客户端编程
  • linux 下使用 FREETDS 访问数据库 image 字段的问题, 仅能读取 64K ,超出部分读取不到?
  • linux下的mib读取问题?大虾帮解答下
  • Linux下怎么样读取非标准输入设备键盘的值?
  • 请问在Linux里,如何用JAVA读取内存里的PATH设置
  • LINUX如何读取网络文件
  • 局域网中,linux机器如何读取windows下共享的文件?
  • LINUX下如何读取SCSI硬盘序列号
  • 怎样在Linux下读取物理内存
  • linux下编程读取windows数据
  • Linux下,如何读取网卡接收的数据包啊?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用LINUX做HELIX服务器,用W2K做客户机,客户机视频点播,连接时出现问题!!!!
  • 在单位用windows客户机可在ie设置代理上网,但linux客户机不行
  • 关于linux环境下服务器 是如何获取客户端的相关硬件信息
  • 客户端是linux通过socket编程实现服务器端win平台接收?
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • ~~双网卡WinXP设置为共享上网,为什么Linux客户机不能上网~~
  • 请问有没有Linux下SOCKET服务端和客户端的接口函数!!
  • linux客户端能不能使用x界面呀
  • 高分请教:如何在linux上建vpn的客户端!
  • 客户端访问Linux作为服务器的网站,flash无法显示。
  • 哪里有中兴认证客户端linux版本下载?
  • 大侠,求助!!LINUX下TCP套接字编程中客户端出现段错误
  • 如何在远程linux客户端上运行gui程序
  • 虾米电台Linux客户端 xmradio
  • 百度云linux客户端
  • 锐捷认证Linux客户端 RuijieClient
  • 如何使用LINUX为不同子网的WIN98客户端不同的应用程序做代理?给分100
  • linux下FTP服务器与客户端的C语言实现
  • tcp/ip 服务端响应linux客户端问题
  • Linux下的QQ客户端 OpenQ
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


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

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

    浙ICP备11055608号-3