网络编程技术最新编辑.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程技术最新编辑

Windows网络编程——Microsoft技术丛书目录第1章 NetBIOS2第2章 重定向器5第3章 邮槽7第4章 命名管道9第5章 网络原理和协议15第6章 地址家族和名字解析21第7章 WinSock基础28第8章 WinSock I/O方法41第9章 套接字选项和I/O控制命令71第11章 多播81第1章 NetBIOSNetBIOS——Network Basic Input/Output System,网络基本输入/输出系统。1.1 Microsoft NetBIOS两个NetBIOS应用要通过网络进行正常通信,各自运行的机器至少安装一种两者通用的协议。NetBEUI是一种不可路由协议。但TCP/IP和IPX/SPX均属可路由协议。1.1.1 LANA编号每个LANA编号对应于网卡及传输协议的唯一组合。LANA编号的范围通常在0到9之间,除LANA 0代表默认LANA之外,操作系统并不按某种固定的顺序来分配这些编号。1.1.2 NetBIOS名字一个NetBIOS名字长度为16个字符。针对每个LANA能够添加的名字的最大数量是254(编号从1到254,0和255由系统保留)。NetBIOS名字共有两种类型:唯一名字和组名。1.1.3 NetBIOS特性NetBIOS提供了“面向连接”与“无连接”服务。面向连接(面向会话)的服务允许两个客户机相互间建立一个会话 —— 一种双向的通信数据流。面向连接的服务可确保两个端点之间的任何数据都能准确无误地顺序传送。“无连接”(数据报)服务中,事前不必先建立任何连接。数据报服务既不能保证数据传输的可靠性,也不能保证数据包的传送顺序正确无误,但节省了建立连接所需的开销。1.2 NetBIOS编程基础UCHAR Netbios(PNCB pNCB );用于NetBIOS的所有函数声明、常数等均在头文件nb30.h内定义。需要连接的库是netapi32.lib。pNCB对应于指向某个网络控制块(NCB)的指针。typedef struct _NCB{ UCHAR ncb_command; UCHAR ncb_retcode; UCHAR ncb_lsn; UCHAR ncb_num; PUCHAR ncb_buffer; WORD ncb_length; UCHAR ncb_callname[NCBNAMSZ]; UCHAR ncb_name[NCBNAMSZ]; UCHAR ncb_rto; UCHAR ncb_sto; void(*ncb_post)(struct _NCB *); UCHAR ncb_lana_num; UCHAR ncb_cmd_cplt; UCHAR ncb_reserve[10]; HANDLE ncb_event;} NCB;进行任何Netbios调用之前,应先将这个NCB结构清零!ncb_command:指定命令编码以及表明NCB结构体是否被异步处理的标识。ncb_retcodef:指定命令的返回编码。ncb_lsn:表示本地会话编号,在指定环境中此编号唯一标识一个会话。ncb_num:指定本地网络名字编号。ncb_buffer:指定消息缓冲区。(有发送信息、接收信息、接收请求状态信息三个缓冲区)。ncb_length:指定消息缓冲区的大小(字节)。ncb_callname:指定远程端应用程序的名字。ncb_name:指定应用程序可以识别的名字。ncb_rto:指定会话执行接收操作的超时时间。ncb_sto:设定发送操作的超时期限。该值应设为500毫秒的一个整数倍数。若为0,表示不存在超时限制。该值是为NCBCALL和NCBLISTEN命令设置的,它们会影响后续的NCBSEND和NCBCHAINSEND命令。ncb_post:指定异步命令完成后需要调用的后例程的地址。函数定义为:void CALLBACKPostRoutine(PNCBpncb);其中,pncb指向已完成命令的网络控制块。ncb_lana_num:指定LANA编号。ncb_cmd_cpl:指定命令完成标识。ncb_reserve:保留字段,必须为0。ncb_event:指向事件对象的句柄。调用Netbios函数既可同步调用也可异步调用。要异步调用命令,需要让NetBIOS命令同ASYNCH标志进行逻辑或运算。如果指定了ASYNCH标志,就必须在ncb_post字段中指定一个后例程(Post Routine),或必须在ncb_event字段中指定一个事件句柄。1.3 常规NetBIOS例程在程序清单1-1中,LanaEnum函数列举指定系统上可用的LANA编号。第二个函数是ResetAll。重设只要求函数将ncb_command设为NCBRESET,并将ncb_lana_num 设为它需要

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档