基于完成端口的网络服务应用程序开发

2009-07-13 10:09:06王爱平唐玄
新媒体研究 2009年21期
关键词:用户

王爱平 唐 玄

[摘要]由于互联网的普及,在线人数也越来越多,这就提高对服务器端应用程序性能的要求。因此,讲述windows平台上高性能网络服务应用程序的开发方法。

[关键词]完成端口IOCP网络服务

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1110084-01

一、引言

随着网络的广泛应用,企事业单位、公司都需要开发网络服务应用程序,用于和客户进行交互。网络服务应用程序一般可采用B/S、C/S模式开发,其中,B/S模式已经广泛地应用在WEB应用程序上。然而,要实现实时、高性能的网络服务应用程序,仍需要采用C/S模式的开发方式。在windows操作系统环境下,使用C/S模式开发,主要考虑网络服务程序的服务器端程序性能,能支持大量用户并发。这就需要使用完成端口模型来开发服务器端程序。

二、使用完成端口

完成端口,又称Input/Output Completion Port(IOCP),是windows

操作系统中非常复杂的一种I/O模型。它可以同时为大量的SOCKET提供服务,因此它是windows操作系统中开发高性能网络应用服务器的首选。

创建完成端口时,windows操作系统会创建一个内核对象。使用完成端口时,将该内核对象与SOCKET进行关联,则SOCKET产生的事件会通知到该完成端口,此时,就可以通过完成端口对SOCKET进行相关操作了。

使用完成端口常用3个相关函数:

1.CreateIoCompletionPort(

HANDLE FileHandle,

HANDLE ExistingCompletionPort,

ULONG_PTR CompletionKey,

DWORD NumberOfConcurrentThreads);

本函数用来创建完成端口对象、关联完成端口对象和其他内核对象。

FileHandle是用来和完成端口对象关联的内核对象句柄;ExistingCo

mpletionPort是已经创建好的完成端口对象句柄,FileHandle所指定的内核对象I/O事件将会通知到该完成端口对象;CompletionKey是完成键,可以为任何用户指定的值,其目的是程序可以借此参数和完成端口之间传递值,方便与完成端口之间的通信。……

登录APP查看全文

猜你喜欢
用户
雅阁国内用户交付突破300万辆
车主之友(2022年4期)2022-08-27 00:58:26
关注用户
商用汽车(2016年11期)2016-12-19 01:20:16
关注用户
商用汽车(2016年5期)2016-11-28 09:55:15
两新党建新媒体用户与全网新媒体用户之间有何差别
关注用户
商用汽车(2016年6期)2016-06-29 09:18:54
关注用户
商用汽车(2016年4期)2016-05-09 01:23:12
挖掘用户需求尖端科技应用
Camera360:拍出5亿用户
创业家(2015年10期)2015-02-27 07:55:08
100万用户
创业家(2015年10期)2015-02-27 07:54:39
如何获取一亿海外用户
创业家(2015年5期)2015-02-27 07:53:25