本章首先介绍Socket API的概念,接着详细阐述了数据Socket和流式Socket的区别和编程方法,然后讨论客户/服务器范型的基本概念和实现,接着重点介绍基于三层软件的客户/服务器应用开发方法,然后给出客户/服务器中服务的三种分类及开发技术----面向连接与无连接服务器程序、迭代与并发服务器程序、有序与无序状态服务器程序。
Socket概述与分类
Socket API最早作为Berkeley UNIX 操作系统的程序库,出现于20世纪80年代早期,用于提供IPC功能。现在主流操作系统都支持Socket API。在BSD、Linux等基于UNIX的操作系统中,Socket API 都是操作系统的一部分。在个人计算机操作系统(如MS-DOS、Windows NT、Mac-OS、OS/2)中,Socket API 都是以程序库形式提供的(在Windows系统中,Socket API 称为 Winsocket)。Java语言在设计之初就考虑到了网络编程,也将Socket API 作为语言核心类的一部分提供给用户。所有这些 API 都使用相同的消息传递模型和非常类似的语法。
Socket API 是实现进程间通信的第一种编程设施。Socket API 非常重要,原因主要有以下两点:
- Socket API 已经成为 IPC 编程事实上的标准,高层 IPC 设施都是构建于 Socket API 之上的,即基于 Socket API 实现。
- 对于响应时间要求较高或在有限资源平台上运行的应用来说,用 Socket API 实现是最合适的。 <