- 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
您可能关注的文档
最近下载
- 2021年上海市嘉定区中考英语二模试卷含解析.pdf VIP
- 2025年广东省普通高中学业水平选择性考试生物(详解版).docx VIP
- 宁德市2025-2026学年(上期)高二期末考试数学试卷(含答案).pdf
- 鄂尔多斯职业学院单招《职业适应性测试》真题(达标题)附答案详解.docx VIP
- 2025年四川中科《浅谈肥胖治疗新进展》继续教育习题答案.docx VIP
- 小学三年级数学测量单元试题.docx VIP
- 三菱变频器使用手册-FR-E540 中文版.pdf VIP
- 小升初语文练习题6年级语文.pdf VIP
- 8.1 0—3岁婴幼儿心理发展评价(课件)《0-3岁婴幼儿心理发展与教育》(华东师范大学出版社).pptx VIP
- 《测量》习题3.doc VIP
原创力文档

文档评论(0)