网络编程实验指导书.pdf

网络编程实验指导书.pdf

ID:51489697

大小:250.34 KB

页数:39页

时间:2020-03-25

网络编程实验指导书.pdf_第1页
网络编程实验指导书.pdf_第2页
网络编程实验指导书.pdf_第3页
网络编程实验指导书.pdf_第4页
网络编程实验指导书.pdf_第5页
资源描述:

《网络编程实验指导书.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络编程实验指导书执笔:王新祥教研室:计算机网络网络编程上机操作实验是本课程必不可少的实践环节。上机实验的目的是使学生熟悉网络编程的全过程,加深对网络编程方法的理解,得到程序设计基本方法和技巧的训练,从而能真正掌握网络通信程序的设计方法,以解决网络通信的实际问题。实验一获取计算机的网卡地址(2学时)一、实验目的1、掌握使用NetBIOS得到MAC地址的方法。2、掌握通过发送ARP来获取网络中计算机MAC地址的方法。二、实验内容与步骤(一)实验内容1、使用NetBIOS得到本机的MAC地址;2、使用ARP获取网络中计算机的MAC地址。(二)实验步骤1、利用NetBIOS得

2、到MAC地址首先发送NCBENUM命令,获取网卡的数目和每张网卡的内部编号,然后对每个网卡标号发送NCBASTAT命令获取其MAC地址。注意:这里的网卡是指捆绑了NetBEUI协议的通信协议栈,可以在网卡的属性处查看到。(1)在VC++6.0中创建空的控制台应用程序工程;(2)新建一个源文件,并注意将此源文件添加到创建的工程中,然后输入如下代码:1(3)编译、链接并执行文件,分析程序输出的结果。2、通过发送ARP来获取网卡的MAC地址在Windows2000及以上系统中也可以通过发送ARP来获取网络中计算机的MAC地址,当然也包括自己的计算机。函数SendARP的原型如

3、下:DWORDWINAPISendARP(IPAddrDestIP,IPAddrSrcIP,PULONGpMacAddr,PULONGPhyAddrLen);2其中pMacAddr参数返回一个ULONG变量数组的指针。该数组的前6个字节包括了DespIP对应的物理地址。(1)在VC++6.0中创建空的控制台应用程序工具;(2)新建一个源文件并将其添加到工程中,然后输入如下代码:(3)注意:要将“218.196.13.163”这个IP地址替换成自己所使用机器的IP地址。(4)将“实验一的支撑文件”目录下的所有文件拷贝到工程所在的目录;(5)编译、链接并执行程序,注意分析程

4、序的输出结果。(三)注意事项实验内容1的程序目录下要添加四个文件,即“IPExport.h”、“IPHlpApi.h”、“IPHlpApi.Lib”及“IPTypes.h”。并在工程设置对话框的“Link”选项卡中的“Object/librayModules:”编辑框内的最后面添加“ws2_32.libIPHlpApi.Lib”内容,以便对这两个库文件的引用。或者在源文件的头部添加如下两行代码:#pragmacomment(lib,"ws2_32.lib")#pragmacomment(lib,"IPHlpApi.Lib")三、实验要求程序能正常运行,能得到准确的结果。

5、3实验二简易聊天室(4学时)一、实验目的1、熟悉VC++编程环境;2、熟悉使用VC++设计程序的过程;3、熟练掌握NetBIOS编程的基本思路和方法。二、实验原理NetBIOS网络编程的核心是通过这个标准接口,以基于统一的命令集的网络控制块NCB作为参数的“Netbios(PNCBpncb)”函数调用,使用VC++6.0实现具有聊天功能的局域网内控制台应用程序。使用Netbios函数的关键是对NCB结构的理解,该结构体的定义如下:typedefstruct_NCB{UCHARncb_command;UCHARncb_retcode;UCHARncb_lsn;UCHARn

6、cb_num;PUCHARncb_buffer;WORDncb_length;UCHARncb_callname[NCBNAMSZ];UCHARncb_name[NCBNAMSZ];UCHARncb_rto;UCHARncb_sto;void(*ncb_post)(struct_NCB*);UCHARncb_lana_num;UCHARncb_cmd_cplt;UCHARncb_reserve[10];HANDLEncb_event;}NCB;三、实验内容与步骤(一)实验内容使用Netbios函数实现聊天室功能。(二)实验步骤1、在VisualC++中创建头文件“Net

7、BIOS.h”,并输入如下代码:#include#include#pragmacomment(lib,"netapi32.lib")#defineMAXSESSIONS2544#defineMAXNAMES254#defineNBCheck(x)if(NRC_GOODRET!=x.ncb_retcode){printf("Line%d:Got0x%xfromNetBios()",__LINE__,x.ncb_retcode);}#definePNBCheck(x)if(NRC_GOODRE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。