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

程序用socket和select导致ubuntu脱网

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

    本文导语:  我做服务器,有TCP连接时,建立连接并且建立线程处理这个连接收到的命令(循环接受命令,我用select来实现,如果有数据就收,超过5秒没有就打印超时,并且结束这个线程,也就是关闭这个socket连接,然后从新等...

我做服务器,有TCP连接时,建立连接并且建立线程处理这个连接收到的命令(循环接受命令,我用select来实现,如果有数据就收,超过5秒没有就打印超时,并且结束这个线程,也就是关闭这个socket连接,然后从新等待连接),通过命令来建立和关闭多个会议(每个会议建立一个线程管理,会议用udp收发数据)。隔一段时间(时间不一定,但是最多不会超过一小时)就会脱网,这时用ping网关都ping不通,需要重启网卡马上就好。

下面是会出问题的程序段:
while(1)
     {
               timeout.tv_sec = 5;
 timeout.tv_usec = 0;
 FD_ZERO(&fds_tcp);
 FD_SET(sockfd, &fds_tcp);
     ret = select(sockfd+1, &fds_tcp, NULL, NULL, &timeout);
                  if(ret  0)
                  {
                            do something
                  }
     }
我已经定位了问题就在这段程序,各位大虾帮帮忙啊,救命的! 分不够再加

|
看着代码头晕 帮顶

    
 
 

您可能感兴趣的文章:

  • 程序导致ubuntu断网
  • recvfrom阻塞时间长了,会不会导致服务端程序不灵活?
  • 关于zookeeper服务器上运行其他程序时导致session expire
  • 等待大侠出手相救,在多线程程序中执行system函数导致CPU利用率不停的增长的问题。
  • 升级gc3.2后,导致程序运行错误.大家聊聊.
  • 通信应答过久导致的程序卡死问题
  • writev函数发信导致客户端程序中止问题
  • 如果两个线程操作同一个Socket,一个线程recv,另一个send。这样会不会导致程序莫名其妙的退出
  • SuSE9上,多线程程序正在运行,用pstack打印堆栈信息,结果导致进程挂起(ps x 命令显示为T状态),为什么
  • 程序导致网络瘫痪问题
  • ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
  • 远程登录到UNIX服务器,执行一个死循环程序对导致服务器崩溃吗?
  • 注释掉未使用变量,导致程序运行崩溃问题.
  • 是什么导致程序编译错误?望达人指教
  • 请教下驱动问题,什么情况下会导致Ctrl+C终止不了应用程序
  • boot程序切换到保护模式也不正确,导致了bochs虚拟机重新启动
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 我的ping程序怎么老是出现Socket operation on non-socket
  • linux客户端程序能否和windows端的服务器程序进行socket通信?
  • socket客户端程序的问题
  • 请教: linux下用c++写最简单的socket程序如何写?
  • 把socket客户端程序和服务端程序放在同一机器上运行,可以吗?
  • 如何清楚linux系统中以退出程序的socket连接?
  • 求助:我的第一个 socket 程序,缺少某些结构的定义
  • gdb 怎么调试socket程序
  • socket程序中,查看error需要什么头文件?
  • 我断开socket服务器日志之后,服务器程序就挂死啦
  • 基于socket的linux和Windows通信程序为什么运行特别慢?
  • 我用单机编译socket和ServerSocket程序,我应该怎样对自己的机器进行设置?
  • 请问如何在linux下用gcc调试socket程序???
  • linux下socket模拟telnet功能的程序,急求
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • linux下通过crond实现自动执行程序
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • http协议介绍,文件上传分析及程序举例
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • 程序员赚钱致富的6种方法
  • 程序调用脚本,脚本启动另一个程序,如何让原始程序彻底释放资源?
  • HASH查找的程序实现及性能分析
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • 程序员为了健康必看!早晨空腹喝水,是对还是错?
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收


  • 站内导航:


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

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

    浙ICP备11055608号-3