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
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
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
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
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
多路复用并发模型 -- 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多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EPOLL的实现与使用详解。 sel ...
分类:
其他好文 时间:
2018-11-06 19:40:40
阅读次数:
159
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
宏原型: 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
#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