第二章 基于NetBIOS的网络编程深入解析 NetBIOS,全称网络基本输入/输出系统,是一种在网络通信程序中使用的会话层编程接口。它最初被设计用来简化网络应用程序的开发,提供了高效且易于使用的通信机制。在Windows操作系统中,无论是Microsoft TCP/IP还是NetBEUI协议,都内置了NetBIOS支持。对于IPX/SPX协议,用户需要在Windows 9X中手动启用NetBIOS功能,而在Windows 2000及其后续版本中,这一功能被称为"NWLink IPX/SPX/NetBIOS 兼容传送协议"。 LANA(LAN Adapter)编号是NetBIOS中的一个重要概念,它用来标识网卡及所使用的传输协议的唯一组合。每个LANA编号对应一个网卡,并用于指定通信时使用的网卡。在多网卡或多协议的环境中,LANA编号可能多达四个,通常范围在0到9之间,其中LANA0被视为默认的LANA。 NetBIOS的名字服务是其核心组成部分,网络中的每台计算机都有一个或多个名字,这些名字用于识别和通信。NetBIOS名字分为唯一名和组名,前者在整个网络中必须唯一,后者则可以被多个节点共享,适用于多播通信。命名规则规定,名字不能以特殊字符或特定字符串(如"IBM")开头,长度为16字节。注册名字时,NetBIOS会在本地和整个网络范围内进行检查,确保名字的唯一性。 NetBIOS命令是实现其功能的基础,包括等待和非等待两种执行方式。等待命令会在命令完成后再返回主程序,如复位和取消命令;非等待命令则允许在命令执行期间主程序继续运行,通过回调地址或事件句柄在命令完成后通知程序。这些命令通过网络控制块(NCB)来执行,NCB包含了执行NetBIOS命令所需的所有信息。在Windows 32位环境下,NetBIOS API的Netbios函数是通过调用PNCB参数来实现对各种NetBIOS命令的访问。 数据报通信和会话通信是NetBIOS的两种主要通信模式。数据报通信是无连接的,数据包直接从发送方发送到接收方,无需建立会话;而会话通信则需要先建立连接,确保数据的可靠传输。这两种通信模式为开发者提供了灵活的选择,以适应不同的网络应用场景。 在进行NetBIOS网络编程时,开发者需要考虑以下几个设计要素: 1. 选择合适的通信模式:根据应用需求,决定使用数据报还是会话通信。 2. 名字管理:确保名字的唯一性和正确注册,避免冲突。 3. 错误处理:处理可能出现的网络错误,如名字冲突、连接失败等。 4. 网络控制块管理:正确设置和使用NCB以执行NetBIOS命令。 5. 异步编程:利用非等待命令实现并发处理,提高程序效率。 总结起来,NetBIOS是网络编程的一个重要工具,尤其在早期的局域网环境中,它简化了通信过程并提供了高效的服务。尽管现代网络技术已经发展到更高级别的协议栈,如TCP/IP,但理解NetBIOS的基本原理和操作仍然是网络开发人员必备的知识,特别是对于维护旧系统或学习网络底层机制时。
剩余92页未读,继续阅读
- 粉丝: 231
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 资料阅读器(先下载解压) 5.0.zip
- 人、垃圾、非垃圾检测18-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 440379878861684smart-parking.zip
- 金智维RPA server安装包
- 二维码图形检测6-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Matlab绘制绚丽烟花动画迎新年
- 厚壁圆筒弹性应力计算,过盈干涉量计算
- 实验八:实验程序202210409116武若豪.zip
- 网络实践11111111111111
- GO编写图片上传代码.txt