实验二 网络应用程序开发

实验二 网络应用程序开发

一、实验目的

1. 进一步理解应用层协议,并设计一个应用层协议;

2. 熟悉在Windows下进行网络编程的基本方法,并实现所设计的协议。 二、实验内容

1. 掌握传输层对应用层服务的支持; 2. 掌握通过套接字进行网络编程的方法。

3. 设计一个网络聊天协议,定义应用层连接建立的过程,协议通信格式及其各个控制字段的作用。具体内容如下:

(1) 说明服务器工作端口和客户机工作端口。 (2) 定义连接建立的过程。

(3) 定义客户机和服务器之间的通信格式及各个控制字段的作用。 (4) 服务端支持登录、退出、给客户端发送信息等功能。 三、实验原理

以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套

microsoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。遵守这套Windows Sockets规范的网络软件,我们称之为Windows Sockets兼容的,而Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。一个网络软件供应商必须百分之百地实现Windows Sockets规范才能做到Windows Sockets兼容。任何能够与Windows Sockets兼容实现协同工作的应用程序就被认

1

为是具有Windows Sockets接口。我们称这种应用程序为Windows Sockets应用程序。Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口.应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。 四、实验步骤 1. 查看本机的IP地址

点击“开始”->“运行”,在对话框中输入“cmd”,进入cmd窗口,键入ipconfig /all,可查看当前的TCP/IP配置(如图),注意其中的IP地址(红框部分)即为本机的IP地址。

2. 在VC++ 6.0下启动服务器程序

点击“开始”->“所有程序”->“Microsoft Visual Studio 6.0”,进入VC++ 6.0系统,打开SimpleChat.dsw文件并运行。对服务器的IP地址和端口进行设置(注意,IP地址即为上面所获取的本机IP地址),并在选项中选择“服务器”,然后点击“建立服务器”。服务器成功启动后显示如下图。

2

3. 启动客户端,并和服务器建立连接

同组同学在另一台作为客户端的机器上运行SimpleChat.dsw(方法同上),并对服务器的IP地址和端口进行设置(和同组的服务器的设置应相同),并在选项中选择“客户机”,然后选择“连接服务器”,成功连接后显示如下图:

4. 客户端用户登录

客户端在“PASS”状态下输入密码“123456”,即可通过服务器的验证。同组同学在客户端输入正确或错误的密码,观察服务器和客户端的信息显示和状态变化,分析双方进行信息验证的过程。

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4