- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《基于socket的网络编程》.pdf
( )
第 2 1 卷第 4 期 南昌大学学报 理科版 Vol . 2 1 No . 4
( )
1997 年 12 月 Journal of Nanchang University Natural Science Dec . 1997
基于 socket 的网络编程
谢晓芹
(南昌大学信息中心 南昌 330029)
摘 要 TCP/ IP 网络环境下的应用程序是通过网络系统编程接 口 socket 实现的 ,而网间应用程
( )
序之间的作用方式主要是客户机/ 服务器 C/ S 模式 。本文讨论了基于 socket 的网间应用程序的
设计及其相关技术概念 。
( ) ( )
关键词 套接字 socket ,客户机/ 服务器 C/ S ,端口, TCP/ IP
分类号 TP3 11
1 客户机/ 服务器模式
客户机/ 服务器模型是网络应用的标准模型 。一个网间应用程序至少在两台机器上运行 。
在一台机器上执行一部分功能 ,在另一台机器上执行另一部分功能 ,这两部分功能整体构成一
个完整的应用程序 。一个应用程序由操作系统管理 ,被安排在 CPU 的时序中的某一时隙 , 因
此常称该应用程序为该时隙的一个进程 。在 TCP/ IP 网络应用中 ,一个应用程序在两台机器
上都占有一个进程 ,进程间相互通信 ,相互作用 。其主要工作模式为客户机/ 服务器模式 。提
出请求方称客户 ,提供服务方称服务器 。可以说 ,客户机/ 服务器是个逻辑概念 ,客户机部分和
服务器部分可以在同一物理机器上 ,也可在不同的物理机器上 。
网间进程通信完全是异步的 ,相互通信的进程间既不存在父子关系 ,又不共享内存缓冲
区 ,因此需要一种机制为希望通信的进程建立联系 ,为二者的数据交换提供同步 ,这就是基于
客户机/ 服务器模型的 TCP/ IP
客户机/ 服务器系统有三个基本层次 ,如图 1 所示 :
图 1 客户机/ 服务器系统
第一层是硬件 ;第二层是系统服务包含操作系统 、窗口等 ;第三层是由客户或服务器进程以及
任何其它的应用进程组成 。
客户机进程是主动的 ,先发出请求给服务器 ,它全部用于和用户的会话 , 以会话的始终为
始终 。一个客户机可能与一个或多个服务器相互作用来完成工作 ,然而 ,至少需一个服务器
收稿 日期 :1997 - 04 - 09
作者 :女 ,1973 年生 ,助教
第 4 期 谢晓芹 :基于 socket 的网络编程 ·339 ·
进程来协作工作 。
服务器进程是被动的 , 由来自客户机的请求的到来所触发 。通常服务器进程一直在运行 ,
处监听状态 ,准备给许多客户机提供服务 。这些服务或者由服务器进程直接提供 ,称反复服
务 ;或者由服务器进程调用另一进程来处理客户请求 ,而 自身又返回休眠状态 ,等待下一次客
户机的请求 ,称之为并发服务 。服务器功能是特定的 ,它执行一组预定的 ,功能相关事项的处
理 。
严格说来 ,客户机/ 服务器技术是同时执行的软件进程之间相互作用的范例或者模型 。大
( )
多数多任务或多处理的操作系统提供进程相互通信 IPC 装置 , 以便进程间能够相互通信 。
( )
通信进程 无论是多 CPU 还是共享一个 CPU 是并发进程 ,因为它们为了通信必须并
文档评论(0)