版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机通信与网络实验指导winsock实验1数据报1. 确定双方的角色客户机/服务器2. 找到本机的ip地址开始程序附件命令提示符执行ipconfig出现 ip address: xxx.xxx.xxx.xxxsubnet mask: xxx xxx xxx xxxdefault gateway: xxx.xxx.xxx.xxx记录下ip地址3. 记录下合作者的ip地址4. 服务器端(1) 打开 microsoft visual c+:文件一 打开 一 shujubaofuwul .cpp;(2) 阅读程序;(3) 将函数 startsock ()中 serveraddi*.sin_adclr
2、.s_adduinet_ad(ir("xxx.xxx.xxx.xxx'') 填入木机ip地址(4) 将函数 udprecv ()屮 client.sin_addi*.s_adduine(_adclr(“xxx.xxx.xxx.xxx'') 填入对方ip地址(5) 编译并执行程序,正常出现“waiting for revc"5. 客户端(1) 打开 microsoft visual c+:文件一打开一shujubaokehu 1 .cpp(2) 阅读程序(3) 将函数 startsock ()中 clientadd匚sin_add匚s_dddr
3、二inet_addr(“xxx.xxx.xxx.xxx”) 填入木机ip地址(4) 将函数 udpsend()中 server.sinaddr.sadditneladdwxxx.xxx.xxx.xxx”) 填入对方ip地址(5) 编译程序,正常并执行程序,正常出现“输入信息:"(6) 键入“xxxx”回车6观察:服务器端应该显示接收到的内容。该内容被服务器端完整返回给客户端。 客户端显示:“等待服务器响应二“收到返回信息”以及相应的返回信息。7. 理解程序:(1) 在同1台计算机上运行客户机/服务器程序,有哪2种方法?修改ip地址, 并运行。(2) 双方修改port号,运行程序,讨论
4、结果。(3)双方修改ip号,运行程序,讨论结果。(4)客户端输入“exft,给出现象,讨论如何结束程序。(5)检查socket(),分析里面的参数。8双方交换执行程序。1. 确定双方的角色客户机/服务器2. 找到本机的ip地址开始一 程序一 附件一 命令提示符一执行i pcon fi ghl现 ip address: xxx.xxx.xxx.xxxsubnet mask: xxx xxx xxx xxxdefault gateway: xxx.xxx.xxx.xxx记录下ip地址3. 记录下合作者的ip地址4. 服务器端(1) 打开 microsoft visual c+:文件一打开huihu
5、afuwu.cpp(2) 阅读程序(3) 将函数 startsock ()屮 serveraddr.sin_addr.s_addr=inet_addrc6xxx.xxx.xxx.xxxv) 填入本机ip地址(4) 编译并执行程序,正常出现“listening.”5. 客户端(1) 打开 microsoft visual c+:文件一打开一huihuakehu.cpp(2) 阅读程序(3) 将函数 startsock ()屮 serveraddi*.sin_addr.s_addr=inet_adck("xxx.xxx.xxx.xxx") 填入对方ip地址(4) 编译程序,正常
6、并执行程序,正常出现''connect ok,? “press any key to send!"input the number of message to send: (0exit)(5) 键入任意小于50的数字并回车6. 观察:客户端显示拟发送的数据个数。服务器端应该显示接收到的数据个数。7. 理解程序:(1) 改变ip/port地址,观察结果,讨论。(2) 修改不存在的版本号makeword(0,0),结果如何?讨论。(3) 在主程序中注释掉starsock(),结杲如何?讨论。(4) 在主程序中注释掉creatsocket(),结果如何?讨论。(5) 为什么
7、该会话通信程序中没有出现客户端的ip地址?8. 双方交换执行程序。按照以上实验内容撰写实验报告。发送方:1. 创建数据报套接字,只有sock.dgram才支持广播通信。2. 绑定数据报套接字于指定的地址和接口。需要找到本机的ip地址,填充 在 from.sin_addr.s_addr=inet_addr("xx.xx.xx.xx");以及本地的通信端口。试问这 个端口在实验中是如何定义的?3. 通过套接字选项设置数据报套接字的广播属性。在setsockopt(socket s, int level, int optname, const char far*optval, i
8、nt*optlen)其中,s:标识套接字;level:选项定义层次,有 sol_socket/ipproto_tcp;optname:选项名 so.broadcast (允许传送广播信息), so.dontroute (禁止选径,直接传送)等;optval:存放缓冲区指针;optlen:指向上述缓冲区长度的指针;4. 通过sendto()发广播信息,其屮对方套接字为广播套接字,即对方的地 址必须是in addr_bro adc ast,将其赋给to.sin_addr.s_addr,对方的端口是 什么?接收方:用数据报通信程序中的接收程序即可,此处使用shujubaofuwu.cppo可以多 个
9、。验证及问题:1. 在同一网段的计算机只要运行广播接收程序,是否都可以收到广播信息?2. 接收广播信息,应该定义怎样的套接字?应该调用哪个接收函数?是否需耍知道发送方的ip地址?是否需要知道自己一方的ip地址?3. 过度使用广播技术,会造成什么问题?1. 加入多播组。用socket函数创建一个套接字,也必须是dgram类型。定义多播地址。如#define mcastaddr ”234.5 67”dwmulticastgroup = inet_addr(mcastaddr);2. 调hl setsockopt函数,设置pi add_membership选项,同时指定想加入 的那个组的结构。if
10、(setsock opt (sockm, ipproto_ir ip_add_membership, (char*)&mcast, sizeof(mcast)=socket_error)printf("setsockopt(ipadd_membership)failed:%dn",ws ag et las terr or ();closesocket(sockm);wsacleanupo;return(-l);local.sin_family=af_inet;local.sin_addr.s_addi*=dwlntei*face;/ local ip addresslocal.sin_port= htons(mcastr_port);/receiver multi port3. ip多播组的加入和离开都是用setsockopt完成,ip add_membership是 加入组,ip drop_membership是脱离组。if (setsockopt(sockm, ipproto_ip,ip_drop_membershib(char*)&mcast, sizeof(mcast) = socket_error)printf("setsockopt(ipdrop_membership)failed:%
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版钢琴教师培训及认证服务合同示范文本3篇
- 2024年行政单位合同业务流程创新与执行标准协议3篇
- 2025版家政钟点工服务合同-含雇主隐私保护承诺3篇
- 物流行业前台工作总结
- 皮肤科护士的工作点滴
- 广州中医院护理工作总结
- 超市前台收银工作总结
- 2024汽车4S店租赁及汽车租赁系统开发合同3篇
- 2024年精密制造工厂运营管理承包协议版B版
- 2024年环保产品交易会服务合同
- 【8地星球期末】安徽省合肥市包河区智育联盟校2023-2024学年八年级上学期期末地理试题(含解析)
- 2024-2025学年冀人版科学四年级上册期末测试卷(含答案)
- 【8物(科)期末】合肥市庐阳区2023-2024学年八年级上学期期末质量检测物理试卷
- 国家安全知识教育
- 2024-2030年中国停车场建设行业发展趋势投资策略研究报告
- 蓝军战略课件
- 兰州生物制品研究所笔试
- 【MOOC】信号与系统-北京邮电大学 中国大学慕课MOOC答案
- 叉车维护保养与自行检查规范DB41-T 2486-2023
- 对外汉语教学法智慧树知到期末考试答案章节答案2024年西北师范大学
- 数值分析智慧树知到期末考试答案章节答案2024年长安大学
评论
0/150
提交评论