摘要:
上班路上: 看了tcp/ip协议卷中 超时机制上班中: 写了一个内存池模板下班路上:晚上: 弹吉他一个小时 继续完善内存池模板并测试 帮一个网上朋友写了个听说是Apache溢出漏洞的一个GET请求提交. 阅读全文
摘要:
1.上班路上: 看tcp/ip协议卷,了解了tcp慢启动,阻塞算法等.2.上班期间: 电脑报了解了HPC超级计算机物理特性及技术特性,win7技术特性优先使用ipv6,DirectAccess配合IPsec验证机制,CPU/GPU全新架构,将图形直接写入显存.将应用程序图形和计算部分分离. 环锁适应于多CPU的环境,在单CPU的情况下,存在浪费CPU时钟周期,争用高速缓存行3.下班路上:4:... 阅读全文
摘要:
6.2.1 接受连接的方法Winsock扩展函数AcceptEx是唯一能够使用重叠I/O接受客户连接的函数。下面主要深入探讨使用该函数接收连接的问题。前面已经讨论过,当客户连接进来时,服务器需要创建一个套接字来负责维护与一个客户端的会话。使用AcceptEx函数之前必须创建一些套接字,并且这些套接字必须是未绑定、未连接的,即使它们可能在调用TransmitFile, TransmitPackets... 阅读全文
摘要:
TransmitFile 和 TransmitPackets Winsock 提供两个专门为文件和内存数据传输进行了优化的函数。其中TransmitFile()这个API函数在Windows NT 4.0 和 Windows 2000上都可以使用,而TransmitPackets()则将在未来版本的Windows中实现。TransmitFile()用来把文件内容通过Winsock进行传输。通常发送... 阅读全文
摘要:
Windows NT和Windows 2000的套接字架构对于开发大响应规模的Winsock应用程序而言,对Windows NT和Windows 2000的套接字架构有基本的了解是很有帮助的。与其它类型操作系统不同,Windows NT和Windows 2000的传输协议没有一种风格像套接字那样的、可以和应用程序直接交谈的界面,而是采用了一种更为底层的API,叫做传输驱动程序界面(Transpor... 阅读全文
摘要:
资源的限制条件在设计任何服务器应用程序时,其强健性是主要的目标。也就是说,你的应用程序要能够应对任何突发的问题,例如并发客户请求数达到峰值、可用内存临时出现不足、以及其它短时间的现象。这就要求程序的设计者注意Windows NT和2000系统下的资源限制条件的问题,从容地处理突发性事件。你可以直接控制的、最基本的资源就是网络带宽。通常,使用用户数据报协议(UDP)的应用程序都可能会比较注意带宽方面... 阅读全文
摘要:
接受连接请求服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一API就是AcceptEx()函数。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数之一。这是因为AcceptEx()是一个重叠操作,所以你需要事先创建一个套接字(但不要绑定或连接它),并把这个套接字通过参数传给... 阅读全文
摘要:
Title:Design Issues When Using IOCP in a Winsock Server标题:使用IOCP开发Winsock服务器的一些设计内容。原文地址:http://support.microsoft.com/kb/192800翻译地址:http://www.libing.net.cn/post/Design-Issues-When-Using-IOCP-in-a-Win... 阅读全文
摘要:
在使用IOCP时,最重要的几个API就是GetQueueCompeltionStatus、WSARecv、WSASend,数据的I/O及其完成状态通过这几个接口获取并进行后续处理。GetQueueCompeltionStatus attempts to dequeue an I/O completion packet from the specified I/O completion port. ... 阅读全文
摘要:
GlobalAlloc是标准内存管理函数,标准内存管理函数都是操作进程的默认堆,所以这个函数是从进程的从进程的默认堆中分配内存空间,分配的空间可以是可移动的也可以是不可以移动的。可移动的内存是指windows在需要的时候可以将这个内存移动到另外一个地址 HeapAllock是堆管理函数,堆管理函数可以操作非默认堆(当然也可以操作默认堆),创建一个堆是用HeapCreate,这个函数返回一个堆句柄,... 阅读全文