导航

随笔分类 -  networking

摘要:以下描述主要是针对windows平台下的TCP socket而言。 首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这... 阅读全文

posted @ 2015-09-18 11:09 ggzone 阅读(111) 评论(0) 推荐(0)

摘要:首先应该了解win32 api closesocket,这里只说msdn文档中叙述不够清晰的地方。首先说缺省情况:l_onoff为0,closesocket立刻返回,但底层依然在持续发包,并且试图优雅关闭连接。这种情况下对于应用程序来说,该连接已经关闭,但底... 阅读全文

posted @ 2015-09-18 11:02 ggzone 阅读(192) 评论(0) 推荐(0)

摘要:高吞吐率: 高并发连接: 阅读全文

posted @ 2015-04-15 16:04 ggzone 阅读(120) 评论(0) 推荐(0)

摘要:IOCP的缓冲区:应用程序的缓冲区套接字的缓冲区TCP的缓冲区 两个会造成WSAENOBUFS错误的原因:锁定页面达到上限非分页页面达到上限 阅读全文

posted @ 2015-04-15 15:55 ggzone 阅读(190) 评论(0) 推荐(0)

摘要:1.WinSock的初始化#include#include#include#pragma comment(lib, "WS2_32.lib")//使用WinSock2.h时,须加载此项using namespace std;//Winsock2函数带有WSA... 阅读全文

posted @ 2015-04-15 10:07 ggzone 阅读(127) 评论(0) 推荐(0)

摘要:在普通IOCP的基础上注意两点: 1.记得把监听socket绑定到端口 2.在Accept处理过程中,抛出接受连接的AcceptEx请求,绑定客户端socket到端口和抛出recv请求客户端要断开连接时,只需发送一个大小为0的内容即可。我们在服务器处理时,收... 阅读全文

posted @ 2015-04-12 19:30 ggzone 阅读(499) 评论(0) 推荐(0)

摘要:使用IOCP模型编程的优点 ① 帮助维持重复使用的内存池。(与重叠I/O技术有关) ② 去除删除线程创建/终结负担。 ③ 利于管理,分配线程,控制并发,最小化的线程上下文切换。 ④ 优化线程调度,提高C... 阅读全文

posted @ 2015-04-11 16:07 ggzone 阅读(163) 评论(0) 推荐(0)

摘要:int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); 参数列表: int maxfdp,是指集合中所有文件描述符的范... 阅读全文

posted @ 2015-04-11 10:55 ggzone 阅读(138) 评论(0) 推荐(0)