东南大学计算机网络第
三次实验报告
Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT
东南大学自动化学院
实 验 报 告
第3次实验
实验名称: 实验三 基于客户/服务器模式的网络通信编程实现 院 (系): 自动化 专 业: 自动化 姓 名: 学 号: 实 验 室: 金智楼 实验组别: 同组人员: 实验时间: 2016 年 12 月 13 日 评定成绩: 审阅教师:
课程名称: 信息通信网络概论 目 录
一.实验目的和要求·····································3 二.实验原理···········································3 三. 实验方案与实验步骤·································4 四.实验设备与器材配置·································5 五.实验记录···········································5 六.实验总结·········································· 七.思考题或讨论题···································· 附录:部分代码
一. 实验目的和要求
1. 进一步了解网络编程的过程;
10 11
2. 掌握Windows环境下基于WinSock的编程方法和通信实现;
3. 熟悉客户/服务器模式的网络通信编程实现,编写一个聊天工具,即以客户端和
服务器端的模式进行互发消息。
二. 实验原理
一个在建立分布式应用时最常用的范例便是客户机/服务器模型。在这种方案中客户应用程序向服务器程序请求服务。这种方式隐含了在建立客户机/服务器间通讯时的非对称性。客户机/服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。一个对称协议的例子是Internet中用于终端仿真的TELNET。而非对称协议的例子是Internet中的FTP。无论具体的协议是对称的或是非对称的,当服务被提供时必然存在“客户进程”和“服务进程”。 一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务-对客户的请求作出适当的反应。这一请求/相应的过程可以简单的用图2-1表示。虽然基于连接的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可以通过数据报套接口提供的。
图2-1 客户机/服务器模型
三. 实验方案与实验步骤 1、 客户机/服务器工作流程
图 客户机/服务器工作流程