《数据通信与网络(英文第4版)》课后答案

  • 更新时间:
  • 1740人关注
  • 点击下载

给大家带来的是关于数据通信相关的课后习题答案下载,介绍了关于数据通信、网络方面的内容,由勾映真 网友提供,本资源目前已被816人关注,高等院校数据通信类教材综合评分为:9.3分

本书系统地介绍了数据通信与计算机网络领域的基本理论及应用。与前几版相比,第4版在内容和编排上都有较大更新,更加注重理论与实际应用相结合。主要内容包括:传输介质和数据编码、模拟信号和数字信号、建立连接、数据压缩、数据完整、数据安全、流量控制、局域网、网络互连、因特网协议和应用、因特网编程、电路技术等。另外,每章后面均附有大量复习题与练习题。

本书适合作为高等院校计算机科学专业本科生的教材或参考书,也可供从事数据通信和网络工作的技术人员参考。

目录

  • 译者序
  • 前言
  • 第一部分 概述
  • 第1章 绪论
  • 第2章 网络模型
  • 第二部分 物理层和介质
  • 第3章 数据和信号
  • 第4章 数字传输
  • 第5章 模拟传输
  • 第6章 宽带利用
  • 第7章 传输介质
  • 第8章 交换
  • 第9章 使用电话网和有线电视网进行数据传输
  • 第三部分 数据链路层
  • 第10章 检错与纠错
  • 第11章 数据链路控制
  • 第12章 多路访问
  • 第13章 有线局域网:以太网
  • 第14章 无线局域网
  • 第15章 连接局域网、主干网和虚拟局域网
  • 第16章 无线WAN:移动电话和卫星网络
  • 第17章 广域网SONET/SDH
  • 第18章 虚电路网络:桢中断和ATM
  • 第四部分 网络层
  • 第19章 逻辑寻址
  • 第20章 IP协议
  • 第21章 地址映射、差错报告和多播
  • 第22章 传递、转发和路由选择
  • 第五部分 传输层
  • 第23章 UDP、TCP和SCTP
  • 第24章 拥塞控制和服务质量
  • 第六部分 应用层
  • 第25章 域名系统
  • 第26章 远程登录、电子邮件与文件传输
  • 第27章 万维网与超文本传输协议
  • 第28章 网络管理
  • 第29章 多媒体
  • 第七部分 网络安全
  • 第30章 密码学
  • 第31章 网络安全服务
  • 第32章 因特网中的安全措施
  • 参考文献
  • 缩略词
  • 术语表
  • 附录
展开阅读
精选笔记1:MFC串口通信发送16进制数据的方法

17小时12分钟前回答

本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下

MFC串口通信会使用m_mscomm控件。

发送数据一般是在edit control 里输入自己想发送的内容,然后点击send button。

如果直接发送字符串内容,通过下面代码(send button内写入)即可:

UpdateData(true); //读取编辑框内容 
m_mscomm.put_Output(COleVariant(m_EditSend)); 
m_EditSend.Empty(); //发送后清空输入框 
UpdateData(false); //更新编辑框内容 

但是这样发送的是字符串内容,而串口通信常常需要发送16进制数据,接收端直接按HEX格式接收就可以了,不用再进行字符串转HEX。因此最好在发送端就将字符串转成16进制数据发送,下面代码即可实现该功能:

(1)send button

CByteArray HexDataBuf;
 int i = 0;
 BYTE SendBuf[128]={0};
 BYTE GetData[256]={0};
 int SendLen = 0;
 int GetLen = 0;
 
 UpdateData(TRUE);//获取编辑框内容
 if(m_EditSend.IsEmpty())
 {
  AfxMessageBox(_T("发送数据为空!"));
  return;
 }
 HexDataBuf.RemoveAll();    //清空数组 
 
 GetLen = m_EditSend.GetLength();
 for(i=0; i<GetLen; i++)
 {
  GetData[i] = (BYTE)m_EditSend.GetBuffer()[i];
 }
 StringtoHex(GetData, GetLen, SendBuf, &SendLen);//将字符串转化为字节数据
 
 HexDataBuf.SetSize(SendLen);   //设置数组大小为帧长度 
 for(i=0; i<SendLen; i++)
 {
  HexDataBuf.SetAt(i,SendBuf[i]);
 }
 m_mscomm.put_Output(COleVariant(HexDataBuf)); //发送十六进制数据
 
 UpdateData(false); //更新编辑框内容

(2)stringtoHex函数

void StringtoHex(BYTE *GB, int glen, BYTE* SB, int* slen)
{
 int i; //遍历输入的字符串
 int a = 0; 
 char temp; //接收字符,用来判断是否为空格,若是则跳过
 char temp1,temp2; //接收一个字节的两个字符 例如EB,则temp1='E',temp2 = 'B'
 *slen = 0; //输出的16进制字符串长度
 for(i=0;i<glen;i++)
 {
 temp = GB[i];
 if(temp==' ')
 continue;
 
 if(a == 0)
  temp1 = GB[i];
 if(a == 1)
  temp2 = GB[i];
 a++;
 
 if(a==2)
 {
  a = 0;
  temp1 = temp1 - '0';
  if (temp1>10)
  temp1 = temp1 -7;
  temp2 = temp2 - '0';
  if (temp2>10)
  temp2 = temp2 -7;
 
 SB[*slen] = temp1*16+temp2;
  (*slen)++;
 }
 }
 
 }

通过以上代码即可发送16进制数据,如下图是用串口调试工具的仿真结果,发送数据字节之间是否存在空格对结果没有影响。

另外,在数据发送中用到了CByteArray类,这是一种支持字节的动态数组,详情可在MSDN上查询。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

展开阅读

数据通信相关资源

  • ZeroMQ:云时代极速消息通信库

    ZeroMQ:云时代极速消息通信库

    《ZeroMQ:云时代极速消息通信库》 介绍ZeroMQ 的API、套接字和模式的使用。通过建立应用程序来讲解如何使用ZeroMQ 编程技术构建多线程应用程序,并创建自己的消息传递架构。《ZeroMQ:云时代

    大小:79 MBZeroMQ

    立即下载
  • delphi数据采集与串口通信测控应用实战

    delphi数据采集与串口通信测控应用实战

    《delphi数据采集与串口通信测控应用实战》 是一本介绍Delphi串口通信的书,本书从工程应用的角度出发,对Delphi 开发测控程序的各种方法进行了全面阐述。内容包括在Delphi 工程中调用ActiveX 组

    大小:7.57 MBdelphi采集

    立即下载
  • 数据与计算机通信 (第六版)

    数据与计算机通信 (第六版)

    数据与计算机通信(第六版) 丛书名:国外优秀信息科学与技术系列教学用书 作者:WilliamStallings 原 PrenticeHall/Pearson 出版日期:2001-5-1 本书阐述了数据和计算机通信的原理、设计方法和相关标准。全书由五个部分组成:数据和计算机通信概述、数据通信、广域网、局域网、网络协议,并附有词汇表、常用缩写词表。对于不同层次的读者,学习本书分为三种方案:一是学习数据通信基础,包括数据和计算机通信概述、数据通信、线路转换、分组交换和异步传

    大小:17.19MB数据

    立即下载
  • Visual C++/Turbo C串口通信编程实践

    Visual C++/Turbo C串口通信编程实践

    VisualC++/TurboC串口通信编程实践 作者:龚建伟熊光明 出版时间:2004/10/1 本书从编程实践的角度详细介绍了Windows环境下和DOS环境下的串口通 信的基本方法,并根据当前串口与网络结合发展的趋势,介绍了串口与网络 TCP/IP、远程控制与监测相结合的一些解决方案和编程要点。由于编程步骤 详尽,初学VisualC++/C(甚至是以前完全没有接触过VisualC++)的读者也 能很快编写出VisualC++的串口通信程序。本书配光盘,书中实例源程序和 相关资料可在对应章节的文件夹中

    大小:16.27 MBC++

    立即下载
  • 计算机通信与网络

    计算机通信与网络

    《计算机通信与网络(第2版)》 系统地介绍了计算机通信与网络的基本概念和基本理论与技术,内容包括计算机网络的基本概念、发展历史、 体系结构、数据通信技术基础,以及物理层、数据链

    大小:72.6 MB计算机

    立即下载

学习笔记

3小时2分钟前回答

React数据传递之组件内部通信的方法

1. 概述 脱离初级前端一段时间后会发现,写样式的时间越来越少,处理数据的时间越来越多。处理数据的过程也就是实现业务逻辑的过程,这在项目中无疑是最重要的。 所以学习前端框架,了解完基本语法后,接下来就要学习其如何进行数据传递。 Angular 设计之初的一大亮点就是实现了数据的双向绑定,使用 Vue 一段时间后发现,所谓数据的双向绑定,组件内部唯一的应用场景就是 form 表单(input,textarea,select, radio),而这种场景下的数据双向绑定,即便框架内部没有实现,自己实现起来也非常简单。明白这一点后感觉之前认为 React 没有实现数据双向绑定很 low 的想法很幼稚。 对于 React 的数据传……

8小时35分钟前回答

Qt串口通信开发之QSerialPort模块Qt串口通信接收数据不完整的解决方法

在使用串口接收数据时,当数据量大的时候会出现数据接收不完整的情况。 因为串口数据获取函数readAll()由readyRead()信号触发,但readyRead()信号在串口读到起始标志时立即发送,并不保证一定是当前所发数据的起始部分。 因此串口通信双方在通信前应制定好通信协议,规定好数据的起始和结束标志,串口当读到完整的起始和结束标志之后,才认定读完一条完整的数据。 本例中用串口定时发送当前时间,用"#"表示数据的结尾,定时时间为0毫秒,即能发多快就发多快。 发送 void Widget::slotSendData(){ QByteArray temp; temp.append(getCurrentTime()); temp.append("#"); serialPort-write(temp);} 接收 void Widget::slotReadData(){ QByteArray temp ……