计算机网络报告文件.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络报告文件.doc

一、课程设计目的 1. 加深对计算机网络通信的工作原理的理解。 通过编写计算机程序实现、 模拟网络的某些功能, 使学生理解并掌握计算 机网络的基本原理及工作过程。 2. 实现应用程序进程跨网络的通信 了解系统调用和应用编程接口基本知识, 理解应用程序和操作系统之间传 递控制权的机制,掌握套接字的创建和运用,通过 socket 系统调用实现跨 网络通信。 3. 提高网络编程和应用能力 提高实际编程能力和灵活运用所学知识解决的能力。 培养调查研究、 查阅 技术文献、资料、手册以及编写技术文档的能力,理论应用于实践的能力。 二、课程设计内容 1. 网络聊天程序的设计与实现 了解 Socket 通信的原理,在此基础上编写一个聊天程序。 2.Ping 程序设计与实现 了解 ping 程序的实现原理,并调试通过。 3. 基于 IP 多播的网络会议程序 (实现了局域网内多人聊天) 4.Windows 下的网络嗅探器 参照附录 4 raw socket 编程例子,设计一个可以监视网络的状态、数据流动情况以及网络上 传输的信息的网络嗅探器。 三、网络聊天程序的设计与实现 题目内容:参照附录 1,了解 Socket 通信的原理,在此基础上编写一个聊天程序。 服务器端编程的步骤: 1. 加载套接字库,创建套接字( WSAStartup()/socket() ); 2. 绑定套接字到一个 IP 地址和一个端口上; 3. 将套接字设定为监听模式等待连接请求( listen() ); 4. 请求到来后,接受链接请求,返回一个新的应对于此次链接的套接字 (accept() ); 5. 返回套接字和客户端进行通信( Send()/Rec() ); 6. 返回,等待另一个连接请求; 7. 关闭套接字,关闭套接字库( closesocket()WSACleanup() )。 客户端编程步骤: 1. 加载套接字库,创建套接字( WSAStartup()/socket()) ; 2. 向服务端发出链接请求 (connect()) ; 3. 和服务端进行通信 (Send()/Recv()) ; 4. 关闭套接字,关闭套接字库 (closesocket()/WSACleanup()) 调试过程 该程序是用 c 写的,首先,我先用 c 编写一个客户端和一个服务器端, 代 码主要是参照了实验说明书上的,在此基础上稍做了些修改,实现一个简单 客户端与服务端通信。在实现过程中出现了问题,后来通过网上查资料和请 教别 ws2_32.lib 时出现错误;还有由于我用的是 TCP协议通讯,它一次只 接收一次发送一次,我通过一个简单的多线程解决了该问题 四、Tracert 与 Ping 程序设计与实现 题目内容:参照附录 2,了解 Tracert 程序的实现原理,并调试通过。然后参考 Tracert 程序和教材 4.4.2 节,编写一个 Ping 程序,并能测试本局域网的所有机器是否在线 4.1 设计步骤 1. 熟悉 IP 及 ICMP协议的工作机制。 2. 熟悉 RAW模式的 SOCKET编程。 3. 编写 Ping 的实现程序。 4. 编译环境中需要包括的 SOCKET库 win2_32.lib 。 5. 调试并运行自己编写的 Ping 程序。 4.2 调试过程 1. 原题目二给的附录二, 可以实现输入一个 IP 地址或者域名, 可以查 看跳站情况,但是该题目要求测试本局域网所有机器在线,在局域网 内机器由交换机连接并不需要路由器跳转,所以可以减小跳转站点数 目,和响应时间, 通过循环输入局域网的 Ip 地址从而达到测试机器是 否在线; 2. 关于获取 IP 地址采用方式:获取 ip 最后一个字段 ---- 自增加一 ----- 将获得的 ip 字段---- 与该局域网内前三个字段连接 --- 将得到 的 String 转化为所需要的 char[] 类型 3. 将获得的 char[] 类型放入到循环中,依次跳站 4. 需注意的是:由于是查找本局域网里的机器状态,只需要经过交换 机来交换信息,不用跳站到路由器,所以需要将最大跳站 30 次减小, 也需要将响应时间降低。避免长时间延迟。 5. 自己改变的代码部分: // 获取 Ip 地址的最后一个字段 int getIp(char Address[]){ string intToString(int v) int count =1; {stringstream s; int i, len = strlen(Address); sv; for(i = 0; i len count 4; i++){ string str = s.str(); if(Address[i] == .) { return str; count++; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档