c++网络编程学习笔记(1)
来源:互联网 发布:淘宝客自助推广 编辑:程序博客网 时间:2024/05/21 23:03
前序
在多个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…
- Linux+C学习笔记之网络编程
- "网络编程"学习笔记(1)
- 网络编程学习笔记1
- 网络编程学习笔记
- 学习笔记--网络编程
- 网络编程学习笔记
- 学习笔记--网络编程
- 学习笔记---网络编程
- 网络编程学习笔记
- 网络编程 学习笔记
- 网络编程学习笔记,
- 网络编程学习笔记
- 网络编程 学习笔记
- python网络编程学习笔记(1)--网络编程背景
- C++学习笔记之网络编程2
- c++网络编程学习笔记(1)
- Unix网络编程学习笔记(1)
- "黑马程序员"网络编程学习笔记1
- for each file in files 访问集合出现的问题
- 纪念刘际贵老师
- 图像二值化(黑白图)
- 匿名类型
- C# 3.0语言主要增强
- c++网络编程学习笔记(1)
- 流水一篇
- c++网络编程学习笔记(2)
- c++网络编程学习笔记(3)
- blog 搬家了
- c++网络编程学习笔记(4)
- 华尔街分析师:微软将雅虎从困境逼入绝境
- stdafx.h是什么用处?
- 一个简单的分页控件