网络通讯程序设计实验udp.docxVIP

  • 49
  • 0
  • 约6.69千字
  • 约 14页
  • 2019-03-10 发布于山东
  • 举报
网络通讯程序设计实验udp 第 PAGE \* Arabic \* MERGEFORMAT 0 页 本科学生实验(实践)报告 院 系:教育信息技术学院 实验课程:网络通讯程序设计 实验项目: UDP套接字编程实例 指导老师:王洪江 开课时间:2017?2018 年度第 二 学期 专 业:教育技术学 班  级: 15级 1班 华南师范大学教务处 华南师范大学实验报告 学生姓名:林璇君 学号:20152801036 专业: 教育技术 年级:15级 班级:1班 课程名称:网络通讯程序设计 实验项目:UDP套接字编程实例 实验类型:验证??设计综合实验时间: 实验指导老师:王洪江?????实验评分: 实验 UDP套接字编程实例 实验目的 用C语言编写客户端、服务器程序,实现基于UDP的网络通信数据传输服务,熟悉基于UDP的Socket编程原理。 实验设计方案 实验原理 UDP是无连接不可靠的数据报协议。TCP提供面向连接的可靠字节流。UDP协议全称是用户数据报协议 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层--传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。 (1)客户端不和服务器建立连接,只是使用sendto给服务器发送数据,必须指定服务器地址作为参数。 (2)服务器不接受来自客户端的连接,而只是使用recvfrom,等待来自客户端的数据达到。recvfrom同时返回 客户端的协议地址,用于服务器给客户端响应。 实验要求 认真阅读和掌握本实验的相关知识点 上机编写并运行本程序 保存和打印出程序的运行结果,并结合程序进行分析 3.实验内容 (1)客户根据用户提供的ip地址将用户从终端输入的信息发送给服务器,然后等待服务器的回应 (2)服务器接收客户端发送的信息并显示,同时显示客户的ip地址、端口号,并向客户端发送消息,如果服务器接收的客户信息为“bye”,则退出循环,并关闭套接字。 (3)客户端接收、显示服务器发回的信息,并关闭套接字 4. 实践代码 Client.c #include unistd.h #include sys/socket.h #include netinet/in.h #include netdb.h #include stdio.h #include stdlib.h #includestring.h #includeerrno.h #includesys/types.h #define PORT 1234 #define MAXDATASIZE 1000 int main(int argc, char * argv[]) { int fd,numbytes; char buf[MAXDATASIZE]; struct hostent * he; struct sockaddr_in server; int i=1; if (argc!=2) { printf(Usage: %sIP address\n , argv[0]); exit(-1); } if ((he =gethostbyname(argv[1])) == NULL){ perror(gethostbyname error. ); exit(-1); } if ((fd =socket (AF_INET, SOCK_STREAM, 0)) ==-1 ){ perror(Create socket failed. ); exit(1); } bzero(server,sizeof(server)); server.sin_family =AF_INET; server.sin_port=htons(PORT); server.sin_addr=*((struct in_addr *)he-h_addr); if(connect(fd,(struct sockaddr *)server, sizeof(struct sockaddr))==-1) { perror(Bind error.); exit(1); } if((numbytes=recv(fd,buf

文档评论(0)

1亿VIP精品文档

相关文档