当前位置:文档之家› 浅谈windows下高性能服务器程序模型IOCP

浅谈windows下高性能服务器程序模型IOCP

龙源期刊网 https://www.doczj.com/doc/1f7119662.html,

浅谈windows下高性能服务器程序模型IOCP

作者:梁金晶姚宏

来源:《电脑知识与技术》2016年第03期

摘要:本文讨论在Windows 环境下,如何开发出一种基于TCP协议的高并发服务器程序。本文谈论Windows 下套接字I/O模型,同步和异步I/O,阻塞和非阻塞模式,主要谈论IOCP通讯模型的原理和开发过程。

关键词:高并发;服务器端程序开发;IOCP

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)03-0257-02

1 概述

当前,移动互联网已成为了人们主要的获取信息的主要渠道。在移动互联网上主要有两种方式获取信息。一是通过各种浏览器来浏览网站内容。二是通过手机上安装的app来获得来

自服务器上的数据,如QQ和微信。这两种通讯方式都需要服务器端程序的支持。而衡量服务器端程序性能的一个重要指标就是并发量,也就是同时可以接入客户端的数量,本文讨论如何在windows系统下最性能的服务器端程序模型完成端口模型。

2 具体内容

首先,我们讲到同步和异步两个概念。

同步模式是比较早期的模式,在Windows套接字创建时,默认工作在同步模式下。同步模式就是需要服务器完成收发后才可以做下一步的操作,这样会大大降低程序的运行性能。所以高性能的服务器端程序多数使用异步模式。异步模式是指服务器程序不等当前I/O是否完成,就马上执行下一个任务,并不等待程序执行结果或程序本身出现错误退出。这样就大大提高了程序性能。举个例子来说,一个公司的物流公司的经理给一个快递员下达快递任务后,等待这个快递员送完快递后再给第二个快递员下达新任务。如果需要用1分钟的时间把下单的内容通知给快递员,且第一个快递员用时完成任务1小时,第二个快递员也用时1小时完成任务,则一共用时2小时2分钟,这样的模式就是同步模式。如果经理给第一个快递员下完任务后不等待快递员执行任务的完成就直接给下一个快递员下达第二个任务,这时用时就只有2分钟,仅仅是下单内容通知给快递员的时间,这样的模式就是异步模式。很明显,采用异步模式的程序大大提高了性能。

第二,我们讲到阻塞和非阻塞两个概念

相关主题
相关文档 最新文档