实验二:网络通信.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 网络通信 实验目的 UDP通信协议的编程练习,实现两台计算机之间的网络通信。 2.实验环境及设备 两台装有linux系统的pc机。全软件操作。 3.实验内容 (1)该实验通过在两台机子上编写不同的程序实现,在计算机A(客户端)上由键盘输入字符串,并将该字符串通过网络发送到另一台计算机B(服务器端),如果计算机B接收该字符串,将该字符串显示到屏幕上,向计算机A发送“success!”,接收成功并显示。服务器端负责接收客户端发送来的数据,客户端用于发送键盘输入的数据。 (2)实验步骤: 1、编写客户端和服务器端程序,使客户端和服务器端建立UPD协议通信; 2、从客户端输入数据,服务器端接收并显示; 3、服务器端如接收成功,向客户端返回成功接收标志“success!”。 (3)试验中需要注意的地方: 1、调试实验的程序,保证能够运行,且两台计算机间的网络连通。 2、程序能分步实现需要的功能,运行服务端的程序,能够发送信息。 (4)实验程序: #includestdio.h #includestdlib.h #includestring.h #includeerrno.h #includesys/types.h #includesys/socket.h #includenetinet/in.h #define PORT 5432 int main(int argc,char **argv) { int ser_sockfd; int len; //int addrlen; socklen_t addrlen; char seraddr[100]; struct sockaddr_in ser_addr; /*建立socket*/ ser_sockfd=socket(AF_INET,SOCK_DGRAM,0); if(ser_sockfd0) { printf(I cannot socket success\n); return 1; } printf(Socket创建成功!\n); /*填写sockaddr_in 结构*/ addrlen=sizeof(struct sockaddr_in); bzero(ser_addr,addrlen); ser_addr.sin_family=AF_INET; ser_addr.sin_addr.s_addr=htonl(INADDR_ANY); ser_addr.sin_port=htons(5432); /*绑定客户端*/ if(bind(ser_sockfd,(struct sockaddr *)ser_addr,addrlen)0) { printf(连接错误!\n); return 1; } printf(绑定Scoket成功!,等待客户端的请求...\n); while(1) { bzero(seraddr,sizeof(seraddr)); len=recvfrom(ser_sockfd,seraddr,sizeof(seraddr),0,(struct sockaddr*)ser_addr,addrlen); /*显示client端的网络地址*/ printf(192.168.3.219 \n,inet_ntoa(ser_addr.sin_addr)); /*显示客户端发来的字串*/ printf(接收到的消息:%s,seraddr); /*将字串返回给client端*/ sendto(ser_sockfd,seraddr,len,0,(struct sockaddr*)ser_addr,addrlen); } close(ser_sockfd); return 0; } (3)运行客户端的程序,使之能够显示信息 #includestdio.h #includestdlib.h #includestring.h #includeerrno.h #includesys/types.h #includesys/socket.h #includenetinet/in.h //定义端口号 #define PORT 5432 int main(int argc,char **argv) { int cli_sockfd; socklen_t addrlen; char seraddr[14]; struct sockaddr_in cli_addr; char buf

文档评论(0)

bb213 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档