码迷,mamicode.com
首页 >  
搜索关键字:fd-set    ( 162个结果
Socket套接字
TCP建立socket参数:ip协议: AF_INET(ipv4) 或 AF_INET6(ipv6)传输层协议: TCP(SOCK_STREAM) 或 UDP(SOCK_DGRAM)Socket 程序函数调用过程基于 TCP 协议的 Socket 当服务端有了 IP 和端口号,就可以调用 liste... ...
分类:其他好文   时间:2019-08-05 17:10:05    阅读次数:129
非阻塞connect
int connect_nonb(int sockfd, const SA *saptr, socklen_t salen, int nsec) { int flags, n, error; socklen_t len; fd_set rset, wset; struct timeval tval;... ...
分类:其他好文   时间:2019-04-26 22:27:51    阅读次数:160
非阻塞读和写:str_cli函数(修订版)
void str_cli(FILE *fp, int sockfd) { int maxfdp1, val, stdineof; ssize_t n, nwritten; fd_set rset, wset; char to[MAXLINE], fr[MAXLINE]; char *toiptr, ... ...
分类:其他好文   时间:2019-04-26 20:45:20    阅读次数:155
使用select为描述符设置超时
int readable_timeo(int fd, int sec) { fd_set rset; struct timeval tv; FD_ZERO(&rset); FD_SET(fd, &rset); tv.tv_sec = sec; tv.tv_usec = 0; return (sele... ...
分类:其他好文   时间:2019-04-24 17:48:20    阅读次数:143
使用select正确处理EOF的str_cli函数
void str_cli(FILE *fp, int sockfd) { int maxfdp1, stdineof; fd_set rset; char buf[MAXLINE]; int n; stdineof = 0; FD_SET(&rset); for ( ; ; ) { if (stdi... ...
分类:其他好文   时间:2019-04-13 13:44:07    阅读次数:180
31网络通信之Select模型
多路复用并发模型 -- select #include<sys/select.h> #include<sys/time.h> int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct time ...
分类:其他好文   时间:2019-02-13 21:16:20    阅读次数:232
I/O多路复用
I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EPOLL的实现与使用详解。 sel ...
分类:其他好文   时间:2018-11-06 19:40:40    阅读次数:159
[原]socket通信实现域名解析
typedef __u16 in_port_t;typedef __u32 in_addr_t; struct sockaddr_in *addr; char m_ipaddr[16]; memset(m_ipaddr,0,sizeof(m_ipaddr)); 需要区分下这些结构体的差异 socka ...
分类:其他好文   时间:2018-10-19 19:24:17    阅读次数:365
FD_ISSET
宏原型: int FD_ISSET(int fd,fd_set *fdset) /*is the bit for fd on in fdset?*/ 判断描述符fd是否在给定的描述符集fdset中,通常配合select函数使用,由于select函数成功返回时会将未准备好的描述符位清零。通常我们使用F ...
分类:其他好文   时间:2018-10-05 20:21:11    阅读次数:272
一段c++代码实现睡眠功能
#ifdef ACL_UNIX struct timeval tv; tv.tv_sec = delay / 1000; tv.tv_usec = (suseconds_t) (delay - tv.tv_sec * 1000) * 1000; while (select(0, (fd_set *) ...
分类:编程语言   时间:2018-09-14 12:45:20    阅读次数:304
162条   上一页 1 2 3 4 5 ... 17 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!