网络编程
文章平均质量分 60
qiushanjushi
这个作者很懒,什么都没留下…
展开
-
libevent源码深度剖析12(让libevent支持多线程)
转自:http://wangjunle23.blog.163.com/blog/static/11783817120125991010311/libevent源码深度剖析12(让libevent支持多线程) 2012-06-09 09:15:51| 分类:webgame |举报|字号 订阅Libevent本身不是多线程安全的,在多核的时代,如何能转载 2014-04-23 17:57:08 · 6538 阅读 · 0 评论 -
大量数据的tcp的recv
大量数据的tcp的recv 最近在调程序的时候,发现发送端发送一个119136个char的内存的时候,在接收端不能全部接收,于是,通过调试发现,必须在接收端多次的recv以后,进行拼接:代码如下:char Lenbuf[4]; int iLen; //接收数据 int bytes; //先接受前面的四位消息体长度 if((by转载 2014-09-16 15:19:46 · 2687 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根转载 2014-09-16 15:17:14 · 482 阅读 · 0 评论 -
PACKET_MMAP使用一例
from: http://blog.chinaunix.net/uid-20357359-id-1963685.html根据上一篇文章PACKET_MMAP实现原理分析中PACKET_MMAP使用一节,写了一个简单的演示程序。#include #include #include #include #include #include #转载 2014-08-26 17:36:18 · 3189 阅读 · 0 评论 -
PACKET_MMAP实现原理分析
在上一篇文章中,已经提到了在libpcap-1.0.0中已经增加了部分平台的PACKET_MMAP支持,就一直想写一篇关于PACKET_MMAP实现的文章。PACKET_MMAP实现的代码都在net/packet/af_packet.c中,其中一些宏、结构等定义在include/linux/if_packet.h中。PACKET_MMAP的实现原理PACKET_MM转载 2014-08-26 17:16:33 · 1936 阅读 · 0 评论 -
libpcap底层实现变化的分析
一个很偶然的机会,我看到一个关于Monkey系列开发包的PPT《Packet Mastering the Monkey Way》。其中讲到了将libevent和libpcap结合起来用。libevent和libpcap都是有自己的loop,要将两个结合起来写代码的话,必须砍掉一个libpcap的loop,将libpcap的fd就绪事件整合到libevent中,这样就可以使用libevent的loo转载 2014-08-26 16:58:30 · 1015 阅读 · 0 评论 -
浅尝异步IO
关于异步IO记得几年前使用MFC编程的时候,曾经使用过windows的异步socket。当在socket句柄上设置好关心的事件(如,可读、可写)后,如果事件发生,则指定的窗口会收到一个指定的消息。int WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent);然后窗口例程取得消息,对socket进行处理转载 2014-04-23 18:34:25 · 1113 阅读 · 0 评论 -
libevent带负载均衡的多线程使用示例
#include stdio.h>#include stdlib.h>#include unistd.h>#include pthread.h>#include sys/types.h>#include sys/socket.h>#include event.h>typedef struct { pthread_t tid; stru转载 2014-04-23 18:33:07 · 1709 阅读 · 0 评论 -
高性能、高并发TCP服务器(多线程调用libevent)
http://blog.csdn.net/i_am_jojo/article/details/7587838本文讲述的TCP服务器是模仿memcache中的TCP网络处理框架,其中是基于libevent网络库的。主线程只处理监听客户端的连接请求,并将请求平均分配给子线程。子线程处理与客户端的连接以及相关业务。每个子线程有一个“连接”队列。每个“连接”有一个“反馈”队列。转载 2014-04-23 18:30:40 · 3739 阅读 · 0 评论 -
技术BLOG收藏,不断更新ing
http://www.linuxqq.net/archives/1207.html原创 2015-01-21 21:07:54 · 2067 阅读 · 0 评论