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

一个网络编程中send函数的菜鸟问题

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

    本文导语:  刚接触linux网络编程,碰到一些烦人的小问题,比如说写一个测试程序,写了一个客户端和服务器端的程序,实现功能很简单,客户端发送一个字符串给服务器断,服务器断将这个字符串处理一下然后返回给客户端,在我建立了...

刚接触linux网络编程,碰到一些烦人的小问题,比如说写一个测试程序,写了一个客户端和服务器端的程序,实现功能很简单,客户端发送一个字符串给服务器断,服务器断将这个字符串处理一下然后返回给客户端,在我建立了连接之后在客户端用send()之后发现服务器断接收不到字符串,后来测试了半天我在send之后马上关掉连接的socket文件sockfd服务器端马上就收到了,我想问一下是不是每次send之后一定要关掉连接的sockfd才能再服务器端才能接收到客户端发送的字符串的??如果是这样我要再后面的程序中接收来自服务器端回送的字符串之后应该怎么办呢?总不能说我重新建立一个连接吧.......郁闷中.

|
程序已经调试完了,好用。
你的服务器端程序中的getbuf函数中的接收消息别用循环 
while( (n=recv(sockfd,tempbuf,MAXLEN,0))>0 )
改为
if ( (n=recv(sockfd,tempbuf,MAXLEN,0))>0 )
就可以了

结果请回复,谢谢!

|
你在getbuf函数中用select控制sockfd的阻塞。

可以像这样:
        fd_set rd;
        struct timeval time;
        time.tv_sec = 10;
        time.tv_usec = 0;
        FD_ZERO(&rd);
        FD_SET(sockfd,&rd);

        index=0;

        n=0;
        while(1)
        {
                if(select(sockfd+1,&rd,NULL,NULL,&time) > 0)
                        n=recv(sockfd,tempbuf,MAXLEN,0);
                else
                        break;
                if(n == 0)
                        break;
                if(n == -1)
                        break;
                printf("recv buf len %dn",n);

                for(i=0;i

    
 
 

您可能感兴趣的文章:

  • 菜鸟请教linux下的网络编程
  • 菜鸟问题:请问要在Linux操作系统下完成TCP/IP网络编程,用什么编程工具好?
  • 菜鸟问题 请问 liunx下网络编程是否有类似win下面的I/O模型可用?
  • 菜鸟Unix网络编程问题,僵尸进程
  • 菜鸟问以下关于网络编程的问题
  • linux网络编程的菜鸟问题
  • linux c 网络编程时用 recv 函数
  • linux 网络编程中 send()函数出错
  • uclibc的网络编程函数getifaddrs的问题
  • unix网络编程中err_quit()是什么函数?
  • 那里有linux c 函数库和linux 网络编程的书下载??
  • 请教一个网络编程问题,accept函数的,在线等,急。。。
  • linux 网络编程 recv函数
  • 请问从哪里可以下到UNIX网络编程代码例子里用的包裹函数啊
  • 求教网络编程read函数的问题
  • linux网络编程里面,accept(listen_fd,NULL,NULL)函数的地址参数为NULL是什么意思?
  • linux网络编程中gethostbyname、gethostbyaddr函数的用法
  • Linux 中c网络编程,accept函数的问题,请大家指点,谢谢
  • linux 网络编程 send 函数 的返回值是否会小于输入值?
  • 问一个Linux网络编程中writev和readv函数的问题?
  • <Unix网络编程>上大概73页的Readn函数问题
  • 关于unix网络编程select函数总是返回0的问题
  • linux网络编程用到的网络函数详解用和使用示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 用java做网络编程和用c做网络编程有啥区别
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 《UNIX网络编程》这本书适合linux下的网络编程吗?
  • 读过 Unix网络编程 或者 熟知Unix网络编程的 的进来看一下
  • 请问unix网络编程和linux网络有什么区别
  • UNIX网络编程卷1
  • 高分求网络编程方面的书籍
  • 求助:linux/unix网络编程
  • 新手请教,linux网络编程。
  • linux环境进行网络编程的教材
  • Unix/Linux网络编程怎样来做一个项目?
  • 关于文件操作和Socket网络编程!
  • linux下网络编程环境配置问题
  • java的网络编程
  • 网络编程中“多宿”是什么意思
  • 谁知道哪有《Unix网络编程》w.richard stevens 著的下载?
  • 请推荐几本Linux/Unix网络编程的好书吧
  • 求介绍linux下的网络编程书
  • 请有经验的朋友推荐一下Linux/Nnix下网络编程方面的书,急需学习


  • 站内导航:


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

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

    浙ICP备11055608号-3