第2章复习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


2 什么是NetBIOS名字?它在基于 NetBIOS的网络编程中主要作用是什么? 它有几种类型?名字的长度是多少?
• NetBIOS是一种按名字工作的系统, NetBIOS保留一张名字表,每个名字都是 16字节长。在基于NetBIOS的网络编程中, 信息的源地址和目的地址都是用名字来表 示的。NetBIOS名字有三种类型:永久节点 名、唯一名和组名。
• 8 设计并实现一个函数(函数名不限),该 函数的主要功能是能对默认网卡上的 NetBIOS接口进行复位。
• • • • • • • • • • •
UCHAR RestNCB(void) {NCB ncb; UCHAR ucRc; Memset(&ncb,0,sizeof(NCB)); ncb.ncb_command=NCBRESET; ncb.ncb_lana_num=0; ncb.ncb_callname[0]=254; ncb.ncb_callname[2]=254; ncb.ncb_callname[3]=TRUE; ucRc=Netbios(&ncb); return(ucRc);}
• 6 简述如何利用超时机制进行动态会话链 路的维护。
• NetBIOS提供了发送与接收两种超时,分别对应 着的NCB的ncb_rto和ncb_sto这两个字段。这两 个字段设置为0值,表示没有超时机制,如果为大 于0的值,则该整数值即为超时值。只要会话双方 在建立会话时指定适当的超时时限,便能实现链 路的动态维护。举例说明,假设双方在执行Call 和Listen命令时规定超时时限为1s,如果该会话 链路在过去的1s内没有任何数据交换或者由于某 种故障造成链路中断,此时超时机制就起作用。

7 简述加名字的基本过程并给出加名字函 数的基本结构。
• 要想将名字加入本地名字表,需要自定义一个函数 AddName,输入参数就是想要加的名字,以及将其加到 哪个LANA编号上,输出参数是返回同新增名字对应的名 字编号。其函数结构如下: • UCHAR AddName(PUCHAR Name,UCHAR Lana, PUCHAR NameNum)) • {NCB ncb; • memset(&ncb,0.sizeof(NCB)); • ncb.ncb_command=NCBADDNAME; • ncb.ncb_lana_num=Lana; • strcpy((char *)ncb.ncb_name,(char *)Name); • Netbios(&ncb); • *NameNum=ncb.ncb_num; • return(ncb.ncb_cmd_cplt);}
第2章 NetBIOS编程
• 1 什么是LANA编号?若某电脑装有两块以 太网卡,以及两种具有NetBIOS能力地传输 协议:TCP/IP和NetBEUI,试问最多有多 少个LANA编号呢?请试着写出它们之间的 对应关系。
• LANA编号:LAN适配器编号,每个LANA 编号对应于网卡及传输协议的唯一组合。 共有4个LANA编号,它们的对应关系如下: • 0 NetBEUI—网卡1 • 1 TCP/IP—网卡1 • 2 NetBEUI—网卡2 • 3 TCP/IP—网卡2
• 4 假设客户机A和客户机B欲采用NetBIOS 接口实现数据报通信,请为这一过程设计 一个通信模型。
基于NetBIOS的数据报通信的基本模型
客户机A ResetNcb() AddName() Send() Recv()
发送数据报到客户机B
客户机B ResetNcb() AddName() Recv() Send()
发送数据报到客户机A
DeleteName()
DeleteName()

ຫໍສະໝຸດ Baidu
5 描述采用NetBIOS接口实现数据报通信 程序设计的过程,及该过程需要用到那些 NetBIOS命令。
• • • •
数据报通信程序设计的过程: ①复位网卡,用到命令NCBRECT ②添加唯一名,用到命令NCBADDNAME ③发送或接受数据,用到命令 NCBDGSEND/NCBDGRECV|ASYNCH • ④删除唯一名,NCBDELNAME

3 NetBIOS命令的等待方式与非等待方式 有何区别?命令的立即返回码和最终返回 码的作用是什么?为获得命令的最终执行 结果,应检查哪个返回码?
• 等待与非等待方式的区别:是否等待命令 执行完成之后返回到应用程序。 • 对于同步命令,命令立即返回码与最终返 回码都用于验证命令是否执行成功。对于 异步命令执行,命令立即返回码用于判断 命令是否被执行,命令的最终返回码用于 验证命令执行是否成功。为获得命令最终 执行结果应检查最终返回码。
相关文档
最新文档