c++网络编程学习笔记(1)

探讨了在多个操作系统平台上开发网络应用所面临的复杂性,包括固有复杂性和偶发复杂性,并介绍了ADAPTIVE通信环境(ACE)作为一种解决这些问题的中间件工具,概述了其支持的操作系统和设计空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
前序
在多个OS平台上开发和移植网络应用程序时,将面临错综复杂的挑战。这些复杂性的表现形式各异:网络协议不兼容,在不同软、硬件平台上具有不同的API和语义的组件库,OS本身的进程间通信(IPC)机制和并发机制的局限性造成的“偶发复杂性”。
 
   直接针对OS API编程会导致以下两个问题:
1. 容易出错。因为用C写成的、OS本身的具有的API一般都缺乏安全、可移植、可重入、可扩充的系统函数接口和函数库。
2. 助长“不恰当”的设计技术的运用。因为很多用OS API写成的网络应用程序都是基于“算法”设计,而不是“面向对象”设计。
 
固有复杂性:是由所在领域存在的主要难题造成。
偶发复杂性:开发网络应用软件时使用的工具和技术存在的局限性。
 
网络应用的设计空间:
l       通信空间:网络应用进行交互的规则、形式和抽象层次。
l       并发空间:它指的是一些策略和机制,用来控制如何正确使用进程和线程,以表达多个服务实例,以及每个服务实例如何在内部使用多线程。
l       服务空间:它反映网络应用服务的主要性质,如每个服务实例的持续时间和结构。
l       配置空间:它反映如何识别网络服务,以及在何时将网络服务绑定在一起,以构成完整的应用。
 
ACE工具包概览
     ADAPTIVE通信环境(ACE)是一种广泛使用的主机基础设施中间件。ACE库包含约240000行C++代码、约500个类。
 
ACE支持的OS平台:
 ACE可运行于广泛的操作系统之上,包括:
l       PC:例如,windows(32/64位版本),WinCE,RedHat,Debian和SuSE Linux,以及Macintosh OS X。
l       大多数UNIX版本。例如,SunOS4.x和Solaris,UnixWare….
l       实时操作系统。例如,VxWorks,OS/9….
l       大型企业系统。例如,Open VMS,MVS OpenEdition…
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值