udp套接口通信实验

udp套接口通信实验

ID:40579433

大小:113.50 KB

页数:5页

时间:2019-08-04

udp套接口通信实验_第1页
udp套接口通信实验_第2页
udp套接口通信实验_第3页
udp套接口通信实验_第4页
udp套接口通信实验_第5页
资源描述:

《udp套接口通信实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一:udp套接口通信实验一、实验目的学会使用标准的POSIX套接口标准函数,满足客户端和服务器的通信需求。l建立udp套接口l接收与发送udp数据包l解析与处理udp数据包二、预备知识熟悉udp套接口函数使用方法三、实验预计时间30分钟左右四、实验步骤:a)根据《unix网络编程》书中的实例或者网上搜得的例子作为参考,编写.c和.h文件。分别编写服务器和客户端两端的代码,其中,由于是在一台机器上开发,因此客户端的代码访问服务器的地址定为127.0.0.1即可。b)看懂例子makefile。c)编译、运行五、实验源代码及结果服务端程序UDPServer.c#include

2、#include#include#include#include#include#include#include#include#include#include#defineSERVER_PORT8888#defineMAX_MSG_SIZE1024voidudps_respon(intsockfd){structsockaddr_inaddr;intn;soc

3、klen_taddrlen;charmsg[MAX_MSG_SIZE];while(1){/*等待数据请求*/n=recvfrom(sockfd,msg,MAX_MSG_SIZE,0,(structsockaddr*)&addr,&addrlen);msg[n]=0;/*显示服务器端已经收到了信息*/fprintf(stdout,"Ihavereceived%s",msg);/*数据回送*/sendto(sockfd,msg,n,0,(structsockaddr*)&addr,addrlen);}}intmain(void){intsockfd;structsockaddr_inaddr

4、;sockfd=socket(AF_INET,SOCK_DGRAM,0);if(sockfd<0){fprintf(stderr,"SocketError:%s",strerror(errno));exit(1);}bzero(&addr,sizeof(structsockaddr_in));addr.sin_family=AF_INET;addr.sin_addr.s_addr=htonl(INADDR_ANY);addr.sin_port=htons(SERVER_PORT);if(bind(sockfd,(structsockaddr*)&addr,sizeof(addr))<0){

5、fprintf(stderr,"BindError:%s",strerror(errno));exit(1);}udps_respon(sockfd);close(sockfd);}客户端程序UDPClient.c,使用方法UDPClientServerIPServerPort#include#include#include#include#include#include#include#include#includ

6、e#include#include#defineMAX_BUF_SIZE1024voidudpc_requ(intsockfd,conststructsockaddr*addr,intlen){charbuffer[MAX_BUF_SIZE];intn;while(1){fgets(buffer,MAX_BUF_SIZE,stdin);sendto(sockfd,buffer,strlen(buffer),0,addr,len);bzero(buffer,MAX_BUF_SIZE);/*从网络上读,写到屏幕上*/n

7、=recvfrom(sockfd,buffer,MAX_BUF_SIZE,0,NULL,NULL);buffer[n]=0;fputs(buffer,stdout);}}intmain(intargc,char**argv){intsockfd,port;structsockaddr_in*p;structsockaddraddr;if(argc!=3){fprintf(stderr,"Usage

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。