
Socket编程
Allen_Kao
这个作者很懒,什么都没留下…
展开
-
谈套接字的理解
套接字相当于电话机,IP地址相当于总机号码,端口号相当于分机号码原创 2013-10-20 15:31:33 · 749 阅读 · 0 评论 -
IOCP高端模型完美再现
// IOCP2.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #pragma comment(lib, "WS2_32.lib")#define MAX_BUFFER 256#define M转载 2013-12-18 23:24:07 · 1982 阅读 · 0 评论 -
Winsock IO模型之Overlapped模型
这个模型的基本思想是使用重叠数据结构一次投递一个或多个异步I/O请求。当提交的I/O请求完成之后,与之关联的重叠数据结构中的事件对象受信,应用程序便可使用WSAGetOverlappedResult函数获取重叠操作结果。这个和使用重叠结构调用ReadFile和WriteFile函数操作文件类似。 使用这个模型,必须要搞清楚以下这几个异步I/O函数:WSASocket,AcceptEx转载 2013-11-06 20:44:38 · 1172 阅读 · 0 评论 -
Windows socket之IO完成端口(IOCP)模型开发(原作者:csdn——ithzhang)
Windows socket之IO完成端口(IOCP)模型开发 IO完成端口是一种内核对象。利用完成端口,套接字应用程序能够管理数百上千个套接字。应用程序创建完成端口对象后,通过指定一定数量的服务线程,为已经完成的重叠IO操作提供服务。该模型可以达到最后的系统性能。 完成端口是一种真正意义上的异步模型。在重叠IO模型中,当Windows s转载 2013-11-06 16:53:38 · 1274 阅读 · 0 评论 -
Overlapped模型与CompletionPort模型
Overlapped模型与CompletionPort模型 Win32重叠I/O(Overloapped I/O)机制允许发起一个操作,然后在操作完成之后接受到信息。对于那种需要很长时间才能完成的操作来说,重叠I/O机制尤其有用,因为发起重叠操作的线程在重叠请求发出后就可以自由地做别的事情了。 在Windows NT/2000上,提供真正可扩展的I/O模型就是使原创 2013-11-01 16:52:43 · 886 阅读 · 0 评论 -
GetQueuedCompletionStatus的返回值(翻译自msdn)
Return ValuesIf the function dequeues a completion packet for a successful I/O operation from the completion port, the return value is nonzero. The function stores information in the variables poi转载 2013-11-01 16:02:07 · 1293 阅读 · 0 评论 -
IOCP(I/O Completion Port,I/O完成端口模型)
IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Windows内核花费大量的时间在进行线程的上下文切换,并没有多少时间花在线程运行上。再加上创建新线程的开销转载 2013-10-23 17:02:39 · 1469 阅读 · 0 评论 -
Winsock完成端口模型
研究了几天IOCP的模型,参考了很多大牛的文章,有了点自己的感觉,于是把心得写下来,算是记录一下成长的过程,也希望用最直观的图的形式让以后的人更直观的明白IOCP的基本原理,其实IOCP有很多实现的方式,先说一下第一种比较基本的ICOP,这种理解之后其他的就很容易理解了。:) 先看一下我绘制的一个原理图,图应该更容易理解一下,绘制了1个多小时呢,水平有限,高手莫怪。转载 2013-10-23 15:25:13 · 1012 阅读 · 0 评论 -
套接字的定义
百度首页|登录注册新闻网页贴吧知道音乐图片视频地图百科文库帮助首页分类频道特色百科玩转百科百科用户百科校园百科合作燃梦计划,全面启动!手机百科个人中心切换到窄屏编辑887901套接字转载 2013-10-22 10:58:25 · 1401 阅读 · 0 评论 -
UNIX网络编程——为每个客户现场分派一个线程(简单示例参考)
#include #include #include #include #include#include#include #include #include #include #include #define ERR_EXIT(m) do{perror(m);exit(EXIT_FAILURE);}while (0) #define LENGTH原创 2013-12-23 09:12:24 · 635 阅读 · 0 评论