UDP 服务器及客户端程序设计.docVIP

  • 51
  • 0
  • 约 6页
  • 2017-01-30 发布于重庆
  • 举报
UDP 服务器及客户端程序设计

实验二 UDP 服务器及客户端程序设计 一、实验目的 1、学习和掌握Linux 下的UDP 服务器基本原理和基本编程方法。 2、学习和掌握Linux 下的UDP 客户端基本原理和基本编程方法。 二、实验平台 ubuntu-8.04 操作系统 三、实验内容 1、编写Linux 下UDP 服务器套接字程序,服务器接收客户端发送的信息并显 示,同时显示客户的IP 地址、端口号,并向客户端发送信息。如果服务器接收的客户信息为“bye”,则退出循环,并关闭套接字。 2、编写Linux 下UDP 客户端套接字程序,结合实验三的UDP 服务器端程序, 实现以下功能: (1)客户根据用户提供的IP 地址将用户从终端输入的信息发送给服务器,然 后等待服务器的回应。 (2)服务器接收客户端发送的信息并显示,同时显示客户的IP 地址、端口号, 并向客户端发送信息。如果服务器接收的客户信息为“bye”,则退出循环,并关闭套接字。 (3)客户接收、显示服务器发回的信息,并关闭套接字。 四、实验原理 1、使用UDP 套接字编程可以实现基于TCP/IP 协议的面向无连接的通信,它分为服务器端和客户端两部分,其主要实现过程如图3.1 所示。 2、UDP执行两种功能: 向IP层添加另一个寻址(端口)层; 检测传输中可能发生的数据损坏,并丢弃任何损坏的数据报。 3、UDP与TCP的区别: UDP套接字在使用之前不必进行连接; UDP套接字会保留消息边界,而TCP是一种字节流协议,不会保留它们; UDP提供的端到端服务是一种“尽力而为”的服务:不保证通过UDP套接字发送的消息将会到达其目的地。 4、UDP应答客户执行步骤: 把应答字符串发送给服务器; 接受应答; 关闭程序。 5、UDP服务器:永远循环,接收一条消息,然后把相同的消息发送回它的任何发源地。 五、实验步骤 1、UDP服务器(udpserver.c) (1)、登陆进入ubuntu 操作系统,新建一个文件,命名为udpserver.c(为了方便起 见,可以进入“home”,再进入用户目录,在用户目录下新建udpserver.c)。 (2)、在udpserver.c 中编写服务器端程序代码并保存。 (3)、 在“终端”(“Applications”→“附件”→“终端”)中执行命令进入udpserver.c 所在目录。(pwd 命令可以显示当前所在目录;ls 命令可以显示当前目录下的 文件和文件夹信息;cd..命令可以进入上一级目录;cd 目录名 命令可以进入 当前所示的某个目录。) (4)、执行命令gcc –o udpserver udpserver.c 生成可执行文件udpserver。 (5)、执行命令./ udpserver,观察结果。 (6)、认真分析源代码,体会如何编写一个UDP 服务器端程序。 2、UDP客户端(udpclient.c) (1)、登陆进入ubuntu 操作系统,新建一个文件,命名为udpclient.c(为了方便起 见,可以进入“home”,再进入用户目录,在用户目录下新建udpclient.c)。 (2)、在udpclient.c 中编写客户端程序代码并保存。将实验三完成的udpserver.c 拷 贝到与udpclient.c 同一目录下。 (3)、 在“终端”(“Applications”→“附件”→“终端”)中执行命令进入udpserver.c 和udpclient.c 所在目录。 (4)、执行命令gcc –o udpserver udpserver.c 生成可执行文件udpserver。 (5)、执行命令./ udpserver。 (6)、再开一个“终端”,进入udpserver.c 和udpclient.c 所在目录,执行命令 gcc –o udpclient udpclient.c 生成可执行文件udpclient。 (7)、执行命令./ udpclient 127.0.0.1 hello。 (8)、观察两个“终端”出现的结果。 (9)、在客户端终端下执行命令./ udpclient 127.0.0.1 bye。 (10)、观察两个“终端”出现的结果。 (11)、认真分析源代码,体会如何编写一个UDP 客户端程序。 六、实验代码及分析 Udpserver.c #include stdio.h #include string.h #include unistd.h #include sys/types.h #include sys/socket.h #include stdlib.h #include netinet/in.h #include arpa/inet.h #define PORT 1234 #define MAXDATASIZE 100

文档评论(0)

1亿VIP精品文档

相关文档