在C++Builder利用NetBIOS进行编程
NetBIOS是网络基本的输入/输出系统,是一个应用于程序接口,用于数据源与目的地之间的数据交换。即能够访问支持计算机应用程序和设备通信时要用到的各种服务,具有明确而简单的通信协议,必须用特殊的命令序列来调用NetBIOS服务。 首先我们来了解一下NetBIOS的基本知识。 一.NetBIOS 的基础 1。在网络层次中,NetBIOS是处于表示层和会话层之间,是参考模型的高层。因此其接口程序的应用在很大程度上并且从本质上与较低层次的各种活动隔离开。它支持IEEE802.2 的逻辑链路控制(LLC)协议。现在NetBIOS正迅速地成为不同操作系统环境下普遍使用的数据通信平台,这些操作系统包括PC DOS,OS/2,UNIX 和Windows。 2。NetBIOS的出现是在1984年8月IBM PC的网络适配器中,是由Sytek公司为IBM设计的。它采用宽带同轴电缆,提供每秒2MB的数据传输突发率,使用了流行的工业标准CSMA/CD(多访问载波侦听/载波检测)作为访问协议,这种协议首次出现在IEEE 802.3 以太网标准中。 3。NetBIOS的应用服务:NetBIOS提供四种应用服务,它们分别为:命名支持,数据报支持,会话支持和通用命令。 (1).命名支持:每个NetBIOS 网络积适配器在网络中都使用一个或多个网络名来标识自己,以区别于其他的网络适配器。网络名由16个字符组成。 (2).数据报支持:当一个适配器在网络中激活后,在计算机上的应用程序就可以用NetBIOS与驻留在同一个或不同计算机上的其他应用通信。它们之间的应用通信可以使用数据报来进行。 数据报是一条短信息,它的长度随NetBIOS实现方法的不同而不同,不能保证数据的正确传输。也不接收来自接收方的指示,如:在存在,未加电或不接收数据报,这样 在网络发生故障时,发出的数据报可能不会被任何计算机接收到。 数据报有两种类:广播型和定向型。广播型是完全不区分接收者的数据报,可以使用NetBIOS的Send Broadcast Datagram命令来发送数据,接收方可调用NetBIOS Receive Broadcaset Datagram命令来接收数据。定向型是指定数据报接收者的组名,任何一方都可以调用NetBIOS Send Datagram命令发送数据,接收方可以调用NetBIOS Receive Datagram命令来接收发送过来的数据。 (3).会话支持:在NetBIOS应用通信中的第二种形式是会话通信了,它支持可以在两个应用程序之间创建一个可靠的双向数据通信连接,并能保持较长时间。这种连接有时也称为虚电路。相互通信的应用可以驻留在同一台计算机上(本地会话)或驻留在不同的计算机上(远程会话)。 会话通信比数据报通信的优点有:对于每个被发送的信息,发送前能得知对方接收准备情况,而数据报通信只提供信息的发送状态。 可以使用NetBIOS的Listen命令来创建会话,Listen命令引用NetBIOS命令表中的一个名字。另一端则使NetBIOS Call 命令,Call命令要用到其NetBIOS命名表中的名字,这个名字必须与另一端的的应用程序所用的名字相匹配,这样两边的名字相匹配是两个应用创建会话的依据,在Listen 命令和 Call 命令执行完后,就建立会话了。注意的是:首先调用 Listen命令,然后再调用 Call 命令,这个顺序不能颠倒。 会话创建后,每个客户端都收到一个会话已创建的指示,得到一个字节的无符号返回值,表示会话与适配器之间的联。创建会话后,每个客户端都可以调用NetBIOS的Send和Receive命令来传输和接收数。 (4).通用命令:NetBIOS的通用命令提供了五项NetBIOS服务,分别是:Reset(复位适配器),Adapter Status(显示适配器状态),Cancel and Unlink(撤消及断开命令),Find Name(匹配名字)和 Trace(跟踪命令)。 1).Reset 命令强迫适配器进入初始化状态,终止所有的会话,并删除NetBIOS 命名表中除永久节点名以外的所有名字。 2).Adapter Status 命令用来查询NetBIOS适配器,以获取有关操作 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |