欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验十一网络编程.docx

    • 资源ID:1391793       资源大小:192.55KB        全文页数:23页
    • 资源格式: DOCX        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验十一网络编程.docx

    嵌入式操作系统应用开发课程实验报告级:*号:*指导老师:*旅京*京*京成 绩,实验十一网络编程一、目的与任务目的:r解掌握网络编程的特点与功能,学会借助网络系统的功能函数进行 编程。任务:利用c语言指令编写程序调用网络系统函数,完成相应网络访问功 能。二、内容、要求与安排方式1、实验内容与要求:1)利用地址处理函数访问网络地址以及编程实现域名与IP估息解析.2)实现UDpnt与组播通信功能.3)练习版始套接口基本应用。2,实照安排方式;采用1人1级,上机在LinUx系统下进行编程实验,三、程序清单(I )TCP服务器和TCP客户端通信1.1 服务器代码:/include <stdlib.h>#includc <stdio.h>#include <string.h>/include <unistd.h>#includc <arpainct.h>#include <syssocket.h> int main()int SoCkfd,clienUd;以OCk_fd-监听套接字描述符:ClienLS-连接套接字描述符struct Sockaddjin my_addr: 本机地址struct sock add ri n remote_addr; '客户端地址创建套接字if (sockfd = SOCket(AF_1NET, SOCK_STREAM. 0) =-l)Ipeor( "socket");exit(l);设置地址端口可重用int val=l;SCIS(KkOPl( sockf(J, SOL-SOCKET. SO-REUSEADDR. (char*)&val. sizeof(val);设置本地地址信息my_addr.sin JatniIy=AFJNET;协议族my_addr.sin_port=htons(3333);端 my_addr.sin_addr.s_addr=inet_addr(" 127.0.0.1"):/1P 地址bzero(&(n)y_addr.sin_zero),8);填充 0绑定地址到套接字描述符上if(hind(sockfd. (struct sockaddr *)&my_addr, sizeo(struct sockaddr)= -1) Perror("bind",; cxit(l);)在地址端口上监听if (lis<cn(sockfd. 10) = - I)Ipcor("listen");cxit(l);等待客户端连接,如果有客户端连接,则产生新的连接套接字int sin-size = sizeof(struct SOCkaddjin);if(client_fd = accet(sockl<j, (struct sockaddr *)&reinote_addr,&sin_size)=-DIPClTOr("accept");cxit(l);输出客户端IP地址rintf("received a connection from %sn". inet_ntoa(remote_addr.sin_addr): 向客户端发送欢迎信息if (scnd(clicnt.fd. "Hello, you arc connected!n". 26.0) = - I)PCrroreSCIKrXClOSe(CIienLfd);exit(2);关闭连接套接字cloe(client-M);关闭监听套接字Close(SockId);return 0;)1.2 客户端代码:#includc <stdlib.h>#include <stdio.h>#includc <string.h>#includc <unistd.h>#include <arainet.h>#includc <syssockct.h>int nain(int argc, char *argv) int sockfd. rccvbytcs:char bu10();struct hos(cnt *host;struct sockaddr_in SCrV_addr:创建套接字if (sockM = socket(h,!NET. SOCK_STREAM. 0) = -l)pcor( "socket");exit(l):设置服务器地址结构体serv_addr.sin_fainily=AF_INET;scrv_addr.sin_p<)rt=htons(3333);serv_addr.sin_addr.s_addr=inet_addr("l 27.0.0. ,);bzero(&(ser v-addr.s i n-zero),8);向服务器发起连接if (connect(sockfd, (struct sockad<lr *=)&serv_addr,sizeof(struct sockaddr) = - I) (pcor( "connect");exit(l);接收服务错端信息并显示if (rccvbytcs=rccv(sockfd. buf. I(X). 0) =-1)eror("recv");cxil( I);burecvbytes = 'O; "设置字符串结尾rintf("Received: %s",buf);关闭套接字close(sockfd);return 0;(2) UDP服务器和UDP客户端通信2.1 UDP服务器代码;#include <stdlib.l>/include <stdio.h>#includc <string.h>Sinclude <unistd.h>/include <arpainci.h>#include <syssockct.h>int nain()(int sockfd:套接字描述符struct sockaddr_in server;struct SockaddrJn client;int sin_sizc;int num;char msg I00;char SbUiI 1OO="Welcome to my server."if (sockfd = SoCket(AFNET. SOCK_DGRAM. 0) =-1)PClTor("socket");cxit( 1);bzero(&scncr.sizcof(scncr):server.sin_fam i Iy=A F_1 N ET:scrvcr.sin-port=htons(3333);server. sin_add r. s_addr = inct-addr(" 192.168.245.128");if(hind(sockkl, (struct sockaddr *)&server, SiZeOf(SlrUCI sockaddr) = - I)error("bind");exit(l);sin_sizc=sizcof(StRicl SoCkaddr_in);while (1)(nm=rccvfro(sockf<l.msg. I(X),O,(struct sockaddr *)&client. &sin_size):if (num < O)error("recvfrom");cxit(l);msgnum = 'printf("You got a message (%s) from %sn",msg,inct_ntoa(clicnt.sin_addr);strcpy(sbuf.msg);scndto(sockfd.sbuf.sirlcn(sb0.0,(struct sockaddr *)&clicnt,sin_sizc);if (!strcnp(msg."quit") break:CIoSe(SOCkfd);H close Iistcnfdreturn O;)2.2UDP客户端代码#include <stdlib.h>includc <stdio.h>#include <string.h>#include <unistd.h>#includc <syssockct.h>#include VneIineuin.h>#includc <nctdb.h>int main(int argc. char *argv)Iini fd, numbytes;char buf00:char sendbu 20J="hello"struct hostent *hc;struct sockaddr_in SerVer,reply:if (argc !=2)Iprintf("Usagc: %s <IP AddrCSs> n".argv(0); cxit(l);if (he=gcthostbynamc(argv( I )=NULL)Iprintf("gcthosibyname() CnWn");cxit(l):if (fkl=sockct(AF-INET, SOCK_DGRAM, Oj)=-1 )Printf("socket)exit(l);bzero(serer.sizeof(server);scrvcr.sin-family = AF_1NET;server. sin_port = htons(3333);server.sin-addr = *(struct in-addr *)he->h-a<ldr);Sendto(RL scndbuf. strlcn(sen(lbuf),O.(strct Sockaddr *)&scrvcr, sizeof(struct sockaddr);while (I)inilcn;Ien= sizcof(struct sockaddr_in);if (nunbytes=recvfrom(M,bu, l(X),O,(struct sockaddr *)&rcply,&lcn) = -1)(error("recvfrom");cxit(l):/check if server is right if (Ien != sizeof(struct sockaddr) IInlenICmP(ConN void *)<feserver, (const void *)rcply,lcn) != O) (printf("Rcccivc message from other scrvcr.n");continue:/printf message from SCrVCrbufnumbylcs=O'printf( "Server Message: %sn",buf);rintf("input:");fgcts(scndbuf.sizeof(sendbuf).s

    注意事项

    本文(实验十一网络编程.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开