Chinaunix首页 | 论坛 | 博客
  • 博客访问: 557451
  • 博文数量: 142
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 16:28
文章分类

全部博文(142)

文章存档

2016年(10)

2015年(60)

2014年(72)

我的朋友

发布时间:2014-10-21 09:56:04

在设计套接字的I/O操作上设置超时的方法有以下几种:1.调用alarm-------它在指定超时期满时产生SIGALRM信号。这个方法设计信号处理,而信号处理在不同的实现上存在差异,而且可能干扰进程现有的alarm调用。2.在select中阻塞等待I/O,以此直接代替阻塞在read或者write调用上3.使用较新的SO_RECVTIMEO和SO_SNDTIMEO套接字选.........【阅读全文】

阅读(887) | 评论(0) | 转发(0)

发布时间:2014-10-09 14:51:33

int poll(struct pollfd *fdarray, unsigned long nfds, int timeout);返回值:若有就绪描述符则为其数目,若超时则为0,若出错则为-1.第一个参数是指向一个结构数组第一个元素的指针。struct pollfd {int fd;               /*待测试的描述符fd*/short events;     &n.........【阅读全文】

阅读(825) | 评论(0) | 转发(0)

发布时间:2014-10-09 10:47:04

#include #include int select(int maxfdpl,fd_set *readset,fd_set *writeset,fd_set *exceptset, const struct timeval *timeout)struct timeval {long tv_sec;long tv_usec;};1)timeout == NULL,仅在有一个描述符准备好I/0的时候才返回,不然永久等待下去2)timeout设置为一段时间.........【阅读全文】

阅读(872) | 评论(0) | 转发(0)

发布时间:2014-10-08 17:58:59

笔者在学习unix网络编程时,第一个回显程序,服务器使用的是先accept一个链接,然后fork一个子进程,父进程关闭链接socket,继续使用监听socket,而子进程关闭监听socket,使用链接socket。在学习select后,笔者改造原先代码的时候,先select到监听套接字,然后将链接套接字加入到fd_set里面继续select,当链接socket中有.........【阅读全文】

阅读(628) | 评论(0) | 转发(0)

发布时间:2014-09-28 16:43:06

客户端与服务器端建立好TCP连接,如果此时服务器端关闭对应的socket,从而发送FIN报文给客户端,但是客户端仍然在对应的socket上发送数据,此时当服务器收到客户端的第一个write时,服务器发送RST报文告诉客户端自己的socket已经关闭,如果此时客户端仍然write数据给服务器,则客户端底层会触发发送SIGPIPE信号,该信号默认.........【阅读全文】

阅读(809) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册