Linux下Socket连接超时的一种实现方法

kiglo双子

kiglo双子

2016-01-29 17:38

Linux下Socket连接超时的一种实现方法,Linux下Socket连接超时的一种实现方法

目前各平台通用的设置套接字(Socket)连接超时的办法是:
创建套接字,将其设置成非阻塞状态。 调用connect连接对端主机,如果失败,判断当时的errno是否为EINPROGRESS,也就是说是不是连接正在进行中,如果是,转到步骤3,如果不是,返回错误。 用select在指定的超时时间内监听套接字的写就绪事件,如果select有监听到,证明连接成功,否则连接失败。  以下是Linux环境下的示例代码:


#include <stdlib.h
#include <stdio.h
#include <unistd.h
#include <fcntl.h
#include <sys/types.h
#include <sys/socket.h
#include <netinet/in.h
#include <errno.h
#include <time.h

int main(int argc, char *argv[])
{
        int fd, retval;
        struct sockaddr_in addr;
        struct timeval timeo =

展开更多 50%)
分享

猜你喜欢

Linux下Socket连接超时的一种实现方法

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux下Socket连接超时的一种实现方法

vb实现图像缩放的一种方法

编程语言 网络编程
vb实现图像缩放的一种方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C++消息连接的一种系统方法

编程语言 网络编程
C++消息连接的一种系统方法

网站登录记忆跳转实现的一种方法

Web开发
网站登录记忆跳转实现的一种方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

C中实现矩阵乘法的一种高效的方法

编程语言 网络编程
C中实现矩阵乘法的一种高效的方法

选择一种 Linux 发行版

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
选择一种 Linux 发行版

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

发送带附件的HTML格式邮件例程

发送带附件的HTML格式邮件例程

高手进阶Linux系统下MTD/CFI驱动介绍

高手进阶Linux系统下MTD/CFI驱动介绍
下拉加载更多内容 ↓