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

LINUX C 进行TCP网络连接,怎样设置连接超时时间?

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

    本文导语:  LINUX C 进行TCP网络连接,怎样设置连接超时时间? 比如设置connect的时间,send的时间,recv的时间。超过时间了就报错返回。 | 看看这个 http://blog.csdn.net/ast_224/archive/2008/09/21/2957294.aspx | 你都想...

LINUX C 进行TCP网络连接,怎样设置连接超时时间?

比如设置connect的时间,send的时间,recv的时间。超过时间了就报错返回。


|
看看这个
http://blog.csdn.net/ast_224/archive/2008/09/21/2957294.aspx

|


你都想到超时了,说明是准备用非阻塞模式咯?配合select模型吧。
先用fcntl来设置socket的非阻塞。

然后用select里的参数设置超时。

http://blog.csdn.net/ast_224/archive/2008/09/21/2957294.aspx

这里是具体的一些例子

|

简单的方法就是用setsockopt直接设置套接字属性,比如:

//设置接收超时
setsockopt(SockRaw,SOL_SOCKET,SO_RCVTIMEO,(char*)&TimeOut,sizeof(TimeOut))
//设置发送超时
setsockopt(SockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&TimeOut,sizeof(TimeOut))

|
如果连阻塞,非阻塞,以及常见的一些select模型都不太熟悉的话,就别急,慢慢看。

|
#define PRC_TIME_OUT 600 
void time_out()
{
        raise(SIGTERM);
}

......

        signal(SIGALRM, time_out);
        alarm(PRC_TIME_OUT);
.......


    
 
 

您可能感兴趣的文章:

  • 在XP下使用VMWare安装了Linux AS 5.6之后,使用FTP工具可以远程连接Linux,而在cmd命令行中却连接不上,什么原因 ?
  • linux 有线连接了却显示有线连接断开是怎么回事
  • 请问unix/linux下动态连接库和静态连接库有什么区别?
  • LINUX中连接C++的库怎么连接.库在什么位置,还有什么特殊命令吗?
  • 在linux下可以使用dao方式连接数据库吗?可以连接musql吗?回答就给分!急
  • 在线请教:linux下用MySQL C API 连接MySQL 4.1.12出现的连接问题,提示升级客户端!!!!!!
  • ftp连接问题,就是linux连接windows ftp的问题,高手请进(在线等待)!!!!!
  • Linux下的C++程序怎么连接WIN2000下的SQL Server 2000?或者如何连接MySQL?
  • linux 下连接创建连接数据库程序,什么都可以 。谁知道300分
  • [疑问] [linux网络连接]Linuxmint网络连接
  • 我在telnet到linux上的时候报不能打开到主机的连接, 在端口23: 连接失败 请问是什么原因
  • linux vsftpd连接问题
  • Linux 下的C语言实现数据库连接池操作。
  • Linux 代理 一个客户端来就创建一个连接
  • SecureCRT连接linux。为什么我在linux的/etc/sysconfig/下找不到iptables?
  • linux问题 secureCRT连接的问题 在线等急!~~
  • 我想用Linux的串口和S3c2410x连接,请问在Linux里面怎么找到那个超级终端?
  • 高分求教,linux下的GPRS连接!!!
  • 用xmanager远程连接不上linux桌面
  • cuteftp工具无法连接远程linux虚拟机?
  • 嵌入式Linux 如何设定 telnet超时
  • 哪位大侠知道Turbo Linux下用sysctl命令修改connect(...)的超时的内核参数是哪一个?
  • linux和unix iis7站长之家
  • linux 超时重传
  • linux下如何在等待线程结束中设置超时?
  • linux 下线程如何实现msgrcv超时啊,谢谢了:)
  • linux下超时处理的问题
  • Linux/Unix/POSIX thread 如何等待线程的结束,并且可指定超时?
  • Linux 在开启一个新进程后 怎么设置等待进程结束的时间超时
  • 求linux下 设置socket接收超时的方法
  • Linux下Socket接收超时和主机端口 如何区分
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 怎么设置在Linux上面设置WEB服务器?请各位高手指教!!!
  • Linux/CentOS/fedora下vim显示的字符编码设置
  • 在linux服务器上面设置squid后怎么设置可以使客户端能使用QQ?
  • Linux下用ntpdate同步时间及date显示设置时间
  • linux下到底如何设置环境变量?在哪设置?详细具体点
  • MTU介绍以及在windows和linux下怎么设置MTU值
  • linux中端口号设置是在哪个配置文件,该如何设置?
  • Linux下如何查看,设置环境变量并立即生效
  • 求教:在freebsd下设置服务器是否与在linux下设置方法一样?
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 紧急求救各位了:linux下有没有有设置报文最小长度的命令(好像只有设置报文最大长度MTU,通过ifconfig)?
  • *******在red hat linux下怎么设置DNS?网络设置里没有嘛
  • linux 如何用SOCKET设置函数设置阻塞和非阻塞?
  • 为社么,我该设置的都设置了,我安装的linux只可以访问局域网,internet就访问不了.
  • 请问在LINUX下怎么设置静态IP?我在虚拟机中不能设置静态IP怎么办?
  • 怎么设置显示器的分辨率,显卡为intel 845D自带的,在red hat linux下就是不能设置成1024*768,怎么办?
  • linux下需要设置网络发送和接受缓冲区大小时,需如何设置,是否系统有最大缓冲区限制?谢谢
  • 如何设置在linux下设置tomcat自动启动以及它里面的我写的一个有main方法的socket服务器也自动启动
  • 虚拟机下安装了Linux5.0要怎么设置才能在linux下上网
  • 初学Linux要看什么书?, 请问Linux下C语言编程怎么设置环境?
  • 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


  • 站内导航:


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

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

    浙ICP备11055608号-3