摘要:
#include using namespace std;int main(){ int *p = new int;//int类型的首地址 int *p2 = new int[10];//指向数组的首地址 //p3是指向int*数组的首地址,因为元素是int*了,所以这个需要时in... 阅读全文
摘要:
#include #include using namespace std;int main(){ cout << sizeof(long) << endl;//4 cout << sizeof(long long) << endl;//8 cout << sizeof(__int... 阅读全文
摘要:
几个问题:1.libevent到底用的是select还是iocp,然后是如何突破64限制的typedef struct fd_set { u_int fd_count; /* how many are SET? */ SOCKET fd_... 阅读全文
摘要:
TCP连接的三次握手和关闭的四次握手这个算是很久的问题了,最近比较闲,研究了一下,以前以为每次发送数据都需要三次握手现在发现只有在建立连接的时候需要握手这个三次握手在连接的时候,四次握手在关闭的时候,分析一下,逻辑很清晰的具体看看这个:http://blog.csdn.net/xiaoweige20... 阅读全文
摘要:
只要接触过c/c++网路编程人都可能会知道select io 模式,网络书籍都说 fd_set {int num; SOCKET arr[64]} 有所限制,因为数组的长度只有64,那么超过64你就不能放,要么你就是用多线程分别实用select.。一些书籍通过改定义宏 使数组的长度变长,但也不实用,... 阅读全文
摘要:
从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习。 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,... 阅读全文
摘要:
单线程libevent模式项目里面是多线程版的,我先理解下单线程的。//client1.调用NGP::init()bool NGP::init(NGPcontext context){ _context = context; //_TcpLink = NEWSP(TcpLink); ... 阅读全文
摘要:
在很多比较各种网络模型的文章中,但凡提到select模型时,都会说select受限于轮询的套接字数量,这个数量也就是系统头文件中定义的FD_SETSIZE值(例如64)。但事实上这个算不上真的限制。C语言的偏方:在C语言的世界里存在一个关于结构体的偏门技巧,例如: typedef struct _s... 阅读全文
摘要:
如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五... 阅读全文
摘要:
下载最新的libevent,目前是libevent-2.0.21-stable.tar.gz修改“D:\libevent-2.0.21-stable\event_iocp.c”、“D:\libevent-2.0.21-stable \evthread_win32.c”、“D:\libevent-2.... 阅读全文