- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第3讲 基于NetBIOS的网络编程-2
第2讲 基于NetBIOS的网络编程 张伟 南京邮电大学信息安全系 内容 NetBIOS的基本概念 NetBIOS命名功能 网络编程设计要素 基本程序 数据报通信程序设计 会话通信程序设计 4 基本程序-NCB控制块 NETBIOS所有的通信以一种称为“网络控制块“的格式提交给NetBIOS。内存中这些块的分配依赖于用户程序。这些“网络控制块“分配到域中,分别为输入/输出保留。 NetBIOS API的设置非常简单,因为只有一个函数: UCHAR Netbios(PNCB pNCB); 用于N e t B I O S的所有函数声明、常数等等均是在头文件N b 3 0 . h内定义的。若想连接N e t B I O S应用,唯一需要的库是N e t a p i 3 2 . l i b。 n c b -c o m m a n d 指定要执行的N e t B I O S命令。许多命令都可同步或异步与A S Y N C H ( 0 X 8 0 )标志以及命令进行按位O R(或)运算 n c b r e t c o d e f 指定操作的返回代码。在一个异步操作进行期间,函数会将该值设为N R C -P E N D I N G n c b -l s n 对应一个本地会话编号,与当前环境内的一次会话有着唯一对应的关系。成功执行了一次N C B C A L L或N C B L I S T E N命令后,函数会返回一个新的会话编号 n c b -n u m 指定本地名字的编号。伴随N C B A D D N A M E或N C B A D D G R N A M E命令的每一次调用,都会返回一个新编号。针对所有数据报命令,都必须使用一个有效的编号 n c b -b u ff e r 指向数据缓冲区。对那些需要发送数据的命令,该缓冲区包含了要送出的实际数据;而对那些需要接收数据的命令,则包含了要从N e t b i o s函数返回的数据。对其他命令来说,如N C B E N U M,缓冲区便是预定义的结构L A N A E N U M n c b- l e n g t h 以字节数为单位,指定缓冲区的长度。对于接收命令来说, N e t b i o s会将该值设为收到的字节数。若指定的缓冲区不够大, N e t b i o s就会返回N R C- B U F L E N错误 n c b -c a l l n a m e 指定远程应用的名字 n c b- n a m e 指定应用程序已知的名字 n c b- r t o 设定接收操作的超时期限。该值应设为5 0 0毫秒的一个整数倍数。若为1,表示没有超时限制。该值是为N C B- C A L L和N C B -L I S T E N命令设置的,它们会影响后续的N C B- R E C V命令 n c b -s t o 设定发送操作的超时期限。该值应设为5 0 0毫秒的一个整数倍数。若为1,表示不存在超时限制。该值是为N C B -C A L L和N C B- L I S T E N命令设置的,它们会影响后续的N C B- S E N D和N C B- C H A I N S E N D命令 n c b -p o s t 指定异步命令完成后需要调用的后例程的地址。函数定义为: void CALLBACK PostRoutine(PNCB pncb);其中,p n c b指向已完成命令的网络控制块 n c b l- a n a n u m 指定要在上面执行命令的L A N A编号 n c b- c m d c p l 指定操作的返回代码。异步操作进行期间,Netbios会将这个值设为NRC_PENDING n c b -r e s e r v e 保留;必须为0 n c b- e v e n t 指定设置为“未传信”(N o n s i g n a l e d)状态的一个Wi n d o w s事件对象的句柄。完成一个异步命令后,事件便会设置成它的“传信”(S i g n a l e d)状态。只应使用人工重设事件。假若n c b- c o m m a n d未设置A S Y N C H标志,或者n c b p o s t不为0,那么该字段必须为0。否则, N e t b i o s会返回N R C -I L L C M D错误 同步vs异步 调用N e t b i o s函数时,可选择进行同步调用,还是进行异步调用。所有N e t B I O S命令本身均是同步的。换言之,完成命令以前,会一直调用N e t b i o s块。而对一个N C B L I S T E N命令来说,当有一个客户机建立了连接,或发生某种类型的错误时,对N e t b i o s的调用才会返回。 要想异步调用
您可能关注的文档
- [工学]第1-2章世界石油天然气工业史2.ppt
- [工学]第07章光电式传感器.ppt
- [工学]第09章-查找.ppt
- [工学]第10章 系统设计.ppt
- [工学]第10章1-雨水管网设计_1.pdf
- [工学]第10章_数字信号的最佳接收.ppt
- [工学]第07章 气态污染物控制技术1.ppt
- [工学]第09章金属单质的结构和性质定稿.ppt
- [工学]第10章对话框.ppt
- [工学]第10章压杆稳定.ppt
- 中国预制菜产业2025年行业标准制定与实施路径.docx
- 2025年智慧社区建设需求增长趋势与政策分析报告.docx
- 海洋科技创新趋势分析:2025年技术突破与未来十年市场预测报告.docx
- 增材制造(3D打印)在汽车行业轻量化设计中的应用分析及未来五年趋势.docx
- SpaceX商业航天发射服务市场技术创新与产业链发展分析报告.docx
- 电商直播行业合规性评估与监管流程优化建议报告.docx
- 生物医药冷链物流行业标准制定与行业未来五到十年发展路径研究报告.docx
- 无人机监管体系优化路径分析:2025年现状与未来十年发展蓝图报告.docx
- 2025年水泥行业绿色环保法规实施效果分析报告.docx
- 新能源汽车充电网络与电网互动技术研究报告.docx
文档评论(0)