随笔 - 1  文章 - 1218  评论 - 155  阅读 - 516万

文章分类 -  网络

手把手教你玩转SOCKET模型:完成端口(Completion Port)详解(转)
摘要:这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用MFC编写的图形界面的示例代码。 我的初衷是希望写一份互联网上能找 阅读全文
posted @ 2016-05-10 10:13 carekee 阅读(999) 评论(0) 推荐(0) 编辑
Windows2008新IOCP线程池学习笔记(转)
摘要:今天兴冲冲开始琢磨Windows2008新线程池中的IOCP部分新增的API的调用,也就是新的完成端口的调用方式,新的API如下: CancelThreadpoolIo CloseThreadpoolIo CreateThreadpoolIo StartThreadpoolIo WaitForThr 阅读全文
posted @ 2016-04-27 10:16 carekee 阅读(771) 评论(0) 推荐(0) 编辑
IOCP编程之重叠IO(转)
摘要:其实这个标题有点“标题党”的味道,为了大家搜索方便我故意冠以IOCP编程之名,其实重叠IO编程并不一定需要IOCP,而IOCP编程就一定需要重叠IO。是不是已经被这句话给绕晕了?总之是为了更好的应用IOCP,所以要理解重叠IO。这篇文章的核心就是讨论重叠IO的来龙去脉。 在很久很久以前,在用C语言写 阅读全文
posted @ 2016-04-27 10:15 carekee 阅读(3081) 评论(0) 推荐(0) 编辑
IOCP编程之基本原理(转)
摘要:在我的博客之前写了很多关于IOCP的“行云流水”似的看了让人发狂的文章,尤其是几篇关于IOCP加线程池文章,更是让一些功力不够深厚的初学IOCP者,有种吐血的感觉。为了让大家能够立刻提升内力修为,并且迅速的掌握IOCP这个Windows平台上的乾坤大挪移心法,这次我决定给大家好好补补这个基础。 要想 阅读全文
posted @ 2016-04-27 10:14 carekee 阅读(1398) 评论(0) 推荐(0) 编辑
WinSock2编程之打造完整的SOCKET池 (转)
摘要:在Winodows平台上,网络编程的主要接口就是WinSock,目前大多数的Windows平台上的WinSock平台已经升级到2.0版,简称为WinSock2。在WinSock2中扩展了很多很有用的Windows味很浓的SOCKET专用API,为Windows平台用户提供高性能的网络编程支持。这些函 阅读全文
posted @ 2016-04-27 10:13 carekee 阅读(1790) 评论(0) 推荐(0) 编辑
IOCP+WinSock2新函数打造高性能SOCKET池(转)
摘要:在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。 首先这里要重点重申一下就是,SOCKET池主要指的是使用面向连接的协议的情况下,最常用的就是需要管理大量的TCP连 阅读全文
posted @ 2016-04-27 10:13 carekee 阅读(536) 评论(0) 推荐(0) 编辑
IOCP编程之“双节棍” (转)
摘要:在我博客之前的一些文章中,我讨论了关于使用BindIoCompletionCallback函数编写IOCP服务器的话题,在之后的一段时间中我也用此函数展开了伟大的服务器编程实践活动,在实际的应用中,我发现这个函数的很多怪脾气,今天我觉得有必要为大家澄清一下关于此函数的种种诽谤和传闻。 其实这是一个非 阅读全文
posted @ 2016-04-27 10:12 carekee 阅读(423) 评论(0) 推荐(0) 编辑
WinSock2编程之打造完整的SOCKET池(转)
摘要:在Winodows平台上,网络编程的主要接口就是WinSock,目前大多数的Windows平台上的WinSock平台已经升级到2.0版,简称为WinSock2。在WinSock2中扩展了很多很有用的Windows味很浓的SOCKET专用API,为Windows平台用户提供高性能的网络编程支持。这些函 阅读全文
posted @ 2016-04-27 10:11 carekee 阅读(437) 评论(0) 推荐(0) 编辑
IOCP模型与EPOLL模型的比较
摘要:一:IOCP和Epoll之间的异同。异:1:IOCP是WINDOWS系统下使用。Epoll是Linux系统下使用。2:IOCP是IO操作完毕之后,通过Get函数获得一个完成的事件通知。Epoll是当你希望进行一个IO操作时,向Epoll查询是否可读或者可写,若处于可读或可写状态后,Epoll会通过epoll_wait进行通知。3:IOCP封装了异步的消息事件的通知机制,同时封装了部分IO操作。但Epoll仅仅封装了一个异步事件的通知机制,并不负责IO读写操作。Epoll保持了事件通知和IO操作间的独立性,更加简单灵活。4: 基于上面的描述,我们可以知道Epoll不负责IO操作,所以它只告诉你当 阅读全文
posted @ 2013-03-13 17:01 carekee 阅读(513) 评论(0) 推荐(0) 编辑
Windows Socket I/O模型 以及 Linux Epoll模型 的有关资料(转)
摘要:本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:IOCP模型 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。 这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型~~~ 一:select模型 老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看 阅读全文
posted @ 2012-10-15 13:25 carekee 阅读(461) 评论(0) 推荐(0) 编辑
Windows下完成端口移植Linux下的epoll(转)
摘要:Windows下的完成端口号称是Windows下面最复杂的异步IO操作。但是如果你想开发出具有高性能的、支持大量连接的网络服务程序的话,就必须将它拿下。这里假设你已经对完成端口有一定的了解了。 下面引用一下幽默讲解Windows支持的五种Socket I/O模型的例子来通俗的说一下完成端口究竟是怎么回事。 老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的微软信箱里。 我们平时使用的select模型,老陈每隔几分钟便到楼下看看是否有信。这样的方式会浪费老陈很多时间。同理,程序会阻塞在这里等待数据的到来,使得该进程(线程)无法进行其他的操作,导致性能. 阅读全文
posted @ 2012-10-15 13:24 carekee 阅读(396) 评论(0) 推荐(0) 编辑
Windows下完成端口移植Linux下的epoll续(转)
摘要:在上一篇中,我们主要讨论了Windows下关于完成端口的一些知识。对应于完成端口,Linux下面在2.5.44内核中有了epoll,这个是为处理大批量句柄而引进的。 先来看看为什么要引进epoll以及它带来的好处。在Linux内核中,原有的select所用到的FD_SET是有限的,在内核中的参数_FD_SETSIZE来设置的。如果想要同时检测1025个句柄的可读(或可写)状态,则select无法满足。而且,而且select是采用轮询方法进行检测的,也就是说每次检测都要遍历所有FD_SET中的句柄。显然,当随着FD_SET中的句柄数的增多,select的效率会不断的下降。如今的服务器,都是要满足 阅读全文
posted @ 2012-10-15 13:24 carekee 阅读(310) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示