网络编程
shenyan008
这个作者很懒,什么都没留下…
展开
-
Unix Network Programming vol1 笔记 TCP/IP的缓冲,全双工,半关闭 shutdown 函数
1. TCP/IP 连接是全双工的连接,连接端两端同时可以发送和接受数据;2. 如果连接的一端A对一个全双工工作的TCP/IP连接调用close,A会先把发送送缓冲区的数据发送完,然后,发送FIN,但同时A却丢弃接受缓冲区的数据,并且对于对方B继续发送的数据,直接丢弃,这会造原创 2011-08-29 15:59:57 · 974 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
关于SIGPIPE导致的程序退出收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连转载 2012-12-19 16:39:34 · 530 阅读 · 0 评论 -
获取本机所有接口和所有IP地址的函数
获取本机所有接口和所有IP地址的函数最近一直在忙一个程序,为了保护自己机器上所有IP,便要获取它们。虽然IPv6中根本没有ARP,但是我编写代码的原则一直希望能够独力于协议版本,所以不管怎么说一定要能获取IPv6地址了。要说只要IPv4,就没必要写这篇文章了。我首先考虑的就是使用NETLINK访问,可我不想现在用,因为我想过几天程序写完了,把哪些陈旧的ioctl彻底用NETLI转载 2012-12-31 00:08:38 · 1657 阅读 · 1 评论 -
200行C代码实现简单线程池
原以为实现一个线程池一定是个规模和难度都是超大的项目。这阵子有些闲空,就复习了一下pthreads的知识。光理论复习不够的,还得上手写点东西才行。这就想着实现一个线程池试试看吧。没想到200行不到就出来了一个可用的东西。 基本想法是这样的: 1、预创建的线程通过mutex休眠在线程池中。这样,通过unlock该mutex就可以唤醒该线程了; 2、出于简转载 2012-09-07 20:58:20 · 563 阅读 · 0 评论 -
RabbitMQ Turorial
IntroductionWhere to get helpIf you're having trouble going through this tutorial you cancontact us through the discussion list or directly.RabbitMQ is a message broker. The principal idea i转载 2012-07-26 19:52:55 · 1430 阅读 · 0 评论 -
Zero Copy I: User-Mode Perspective
摘自:http://www.linuxjournal.com/article/6345Jan 01, 2003 By Dragan Stancevic inSysAdminExplaining what is zero-copy functionality for Linux, why it's useful and where it needs work转载 2012-08-03 00:29:34 · 723 阅读 · 0 评论 -
UNP vol1 笔记 Socket选项
1.SO_REUSEADDR 和 SO_REUSEPORTSO_REUSEADDR 这个名词取得有点问题的,这一选项的目的是重用端口,不重用地址,完全重用地址和端口是针对多播的这种特殊情况的,于是为了支持多播,又加入了SO_REUSEPORT,这个选项是可以重用地址和端口的,结果这两个选项字面上的意思和实际的意思刚好相反;没办法用就用吧,知道意思就行了;(UNP,vol1,p210)原创 2012-05-04 15:02:40 · 952 阅读 · 0 评论 -
How to use epoll? A complete example in C
How to use epoll? A complete example in CThursday, 2 June 2011 @ 1238 GMT by Mukund SivaramanNetwork servers are traditionally implemented using a separate process or threadper connection. For hig转载 2012-04-15 00:43:51 · 835 阅读 · 0 评论 -
Detection of Half-Open (Dropped) TCP/IP Socket Connections
By Stephen Cleary | 20 Jun 2009 摘自:http://www.codeproject.com/Articles/37490/Detection-of-Half-Open-Dropped-TCP-IP-Socket-Conne/?fid=1542585&df=90&mpp=25&noise=3&prof=False&sort=Position&view=Quick&转载 2012-02-28 00:43:24 · 855 阅读 · 0 评论 -
Linux native AIO与eventfd、epoll的结合使用
Linux native AIO与eventfd、epoll的结合使用2013年1月9日lenky发表评论阅读评论526 次浏览在前面的示例libaio_test.c和native_aio_test.c中,可以看到对磁盘aio请求(本文的aio都指此类)的使用有阻塞等待,这明显之处为对io_getevents()函数(当然,其它函数,比如io_submit()也有一定程度的阻塞)的转载 2013-03-01 14:55:24 · 1786 阅读 · 0 评论