版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 网络通信程序设计(c+) 实 验 指 导 书编 写适用专业: 计算机科学与技术通信工程闽江学院 计算机科学 系2009年 7月前 言网络通信程序设计这门课程系统介绍了网络通信软件设计的原理和方法,详细讨论了在windows环境下的各种网络编程接口和网络通信程序设计技术,深入分析了各种设计方法的原理以及异常处理方法,主要内容包括:基于net bios的网络编程,基于tcp/ip协议的网络编程,进程通信与分布计算,多线程结构的网络编程技术,直接网络编程技术,网络数据包捕获与分析等。针对该课程学习的目的与要求,本指导书开设了九个实验项目。通过实验应达到下列要求: 1.掌握网络通信的模式及程序设计的
2、方法;2.掌握基于net bios的网络编程;3.掌握基于tcp/ip协议的网络编程;4.掌握进程通信与多线程结构的网络编程技术;5.掌握网络通信综合实例的开发。本指导书给出实验源代码或学生自己编写源程序,由学生自己编译、调试并运行;通过实验程序运行的显示结果理解网络通信程序设计的主要原理;在实验报告中回答思考题。目 录 1、实验一 windows应用程序设计42、实验二 netbios网络程序设计8 3、实验三 基于netbios简单数据报通信程序设计11 4、实验四 基于netbios会话通信程序设计145、实验五 winsock网络信息查询函数的应用16 6、实验六 winsock会话通
3、信程序设计19 7、实验七 winsock数据报通信程序设计20 8、实验八 winsock多线程编程22 9、实验九 网络聊天室24实验一 windows应用程序设计实验学时:2实验类型:验证实验要求:必做一、实验目的1、了解在vc中windows sdk应用程序的开发2、熟悉win32 application和win32 console application的程序结构二、实验内容1、编写简单应用程序,要求程序能实现对字符串的处理;2、参考实验例程,编写一个win32 application类型的windows窗口程序。3、运行程序并对照实验源程序阅读理解实验输出结果的意义。三、实验原理、
4、方法和手段编写简单应用程序,实现对输入数据的判断及简单处理,为后续课程实现数据通信奠定基础。设计并运行win32 application窗口应用程序,实现创建window窗口,并处理窗口信息;程序设计的思想:注册窗口类、创建窗口、显示和更新窗口、创建消息循环、处理消息。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握win32 application和win32 console application的程序结构。 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的pc机。六、实验步骤1
5、、win32 console程序开发 运行microsoft visual c+ 创建工程:选择菜单“file”“new”,在打开的对话框中,切换到“projects”标签下,并选择“win32 console application”作为工程类型,分别在project name和location文本框中输入工程的名字和位置(可自行定义),单击“ok”完成工程的创建。 编写代码实现:输入一串,比较字符串是否为“exit”,是则退出程序,否则输出串长度。循环输入第二个串,重复上述处理(请给出程序代码)。 形成目标程序单击菜单栏的“组建(b)”菜单下的“编译”命令,进行编译。在“输出”窗口的“组建
6、”标签页下查看是否存在编译错误,若有,则进行调试。 运行程序单击菜单栏的“组建(b)”菜单下的“执行”命令,生成.exe文件。必要时,可在过程中设置断点,以便核查相应指令的运行结果。2、win32 application窗口应用程序开发 程序结构:注册窗口类创建窗口显示和更新窗口创建消息循环处理消息 创建工程:同上,注意这里要选择“win32 application”作为工程类型 编写源程序:程序可参考实验例程 形成目标程序 运行程序3、记录并理解运行显示的信息4、回答思考题并撰写实验报告七、思考题1、 windows sdk应用程序有哪两种工程类型?它们分别以什么函数作为自己的入口点的?开发
7、windows的窗口程序应该选择哪种工程类型呢?采用何种方式来模拟时间片?简要说明实现方法。2、 在windows程序中,winmain函数主要完成哪些操作,对消息的处理由哪个函数完成?八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的
8、现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程程序一:#include #include void main() char buff200; int len; int i; memset(buff,0,sizeof(buff);scanf(%s,&buff); for(;)len=strlen(buff);i=strcmp(buff,exit); if(i) printf(this string le
9、n:%dn,len);elsebreak;scanf(%s,&buff);程序二:#include #include long far pascal mainwndproc(hwnd hwnd,uint message,wparam wparam,lparam lparam);int apientry winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpszcmdline, int ncmdshow) / todo: place code here. msg msg;wndclass wc;hwnd ghwndmain;
10、if(!hprevinstance)wc.style=cs_owndc;wc.lpfnwndproc=(wndproc)mainwndproc;wc.cbclsextra=0;wc.cbwndextra=0;wc.hinstance=hinstance;wc.hicon=loadicon(null,idi_application);wc.hcursor=loadcursor(null,idc_arrow);wc.hbrbackground=(hbrush)getstockobject(white_brush);wc.lpszmenuname=null;wc.lpszclassname=main
11、windowclass;if(!registerclass(&wc)return(false);ghwndmain = createwindow(mainwindowclass,sdk programing example,ws_overlappedwindow,10,10,600,500,null,null,hinstance,null);if(ghwndmain=null) return false;showwindow(ghwndmain,sw_show);updatewindow(ghwndmain);while(getmessage(&msg,null,0,0)translateme
12、ssage(&msg);dispatchmessage(&msg);return(msg.wparam);long far pascal mainwndproc(hwnd hwnd,uint message,wparam wparam,lparam lparam) switch(message) case wm_destroy: postquitmessage(0); break; case wm_paint: hdc hdc; paintstruct ps; hdc=beginpaint(hwnd,&ps); textout(hdc,1,1,测试,strlen(测试); endpaint(h
13、wnd,&ps); break; default: return(defwindowproc(hwnd,message,wparam,lparam); return(false);实验二 netbios网络程序设计实验学时:2实验类型:验证实验要求:必做一、实验目的1、加深理解使用vc编写win32 console application的程序。2、熟悉netbios原理,编写网络应用程序。二、实验内容1、阅读实验程序程序代码见【实验例程】。2、 编写一个win32 console 程序,初始化netbios。 改进初始化netbios程序,读出系统所有的lana编号,并复位各网卡上的netb
14、ios。三、实验原理、方法和手段编写win32 console 程序,熟练掌握win32 console 的编程方法。设计netbios应用程序,实现对lana编号的处理和复位网卡,通过程序的开发与运行来理解netbios的原理。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握netbios的原理,进行简单应用程序设计。 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的pc机。六、实验步骤1、win32 console程序开发,初始化netbios 运行microsoft visua
15、l c+ 创建工程:选择菜单“file”“new”,在打开的对话框中,切换到“projects”标签下,并选择“win32 console application”作为工程类型,分别在project name和location文本框中输入工程的名字和位置(可自行定义),单击“ok”完成工程的创建。 创建c+ source file ,编写程序 程序可参考实验例程 形成目标程序单击菜单栏的“组建(b)”菜单下的“编译”命令,进行编译。在“输出”窗口的“组建”标签页下查看是否存在编译错误,若有,则进行调试。 运行程序单击菜单栏的“组建(b)”菜单下的“执行”命令,生成.exe文件。必要时,可在过程
16、中设置断点,以便核查相应指令的运行结果。2、改进初始化netbios程序编写源程序:对(1)的程序进行改造 形成目标程序(同上)运行程序3、记录并理解运行显示的信息4、回答思考题并撰写实验报告七、思考题1、系统的lana编号个数与什么有关,复位netbios都能成功吗,不成功的原因是什么?2、运行加名字和删除名字的程序(程序可参考书上p35p36),若注册成功,输出对应的名字编号。八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现
17、的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程#include #include #include #include #include #pragma comment(lib,netapi32.lib)#d
18、efine maxsessions 254#define maxnames 254uchar lanaenum(lana_enum *lenum) ncb ncb; memset(&ncb,0,sizeof(ncb); ncb.ncb_command=ncbenum; ncb.ncb_buffer=(puchar)lenum; ncb.ncb_length=sizeof(lenum); ncb.ncb_cmd_cplt=netbios(&ncb); return(ncb.ncb_cmd_cplt);uchar restncb(uchar lana) ncb ncb; uchar ucrc; m
19、emset(&ncb,0,sizeof(ncb); ncb.ncb_command=ncbreset; ncb.ncb_callname0=maxsessions; ncb.ncb_callname2=maxnames; ncb.ncb_callname3=true; ncb.ncb_lana_num=lana; return(ucrc);void main() lana_enum lenum; if(lanaenum(&lenum)!=nrc_goodret) printf(lanaenum error!); return; printf(lanaenum ok!); if(restncb(
20、lenum.lana0)!=nrc_goodret) printf(resetncb error!); else printf(resetncb ok!);实验三 基于netbios简单数据报通信程序设计实验学时:2实验类型:验证实验要求:选做一、实验目的1、掌握如何在netbios接口上开发数据报通信程序;2、实现并分析一对一与一对多通信。二、实验内容1、创建两个应用程序:“abc1”和“xyz1”,其中“abc1”负责数据报的发送,而“xyz1”负责接收。具体通信过程如下:当用户从键盘上输入一个字符串后,发送程序“abc1”就将该字符串作为数据报直接发送给接收方“xyz1”,接收方在收到一
21、个数据报后,将收到的字符串显示在屏幕上,如果用户输入的是“exit”,则双方结束通信,程序退出。2、对1的程序进行改造以实现组播通信,其中多播组名为“group1”。三、实验原理、方法和手段编写netbios应用程序,实现两个应用程序间的数据通信。分析简单数据报通信的原理,比较点对点通信与多播通信的区别与实现方法的不同,设计程序实现相关功能。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握基于netbios的点通信与多播通信的区别与实现方法 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+
22、软件的pc机。六、实验步骤1、简单点对点数据报通信程序流程图:resetncb()addname()datagramsend()deletename()resetncb()addname()datagramrecv()deletename()发送数据报abc1xyz1 编写源程序:(程序可参考教材上p38p42) 加文件头#include #pragma comment(lib,netapi32.lib) 或者 设置:vc里面,菜单 project - settings - link 里面选择 general 在object/library moduless一栏里面添加netapi32.lib
23、 形成目标程序单击菜单栏的“组建(b)”菜单下的“编译”命令,进行编译。在“输出”窗口的“组建”标签页下查看是否存在编译错误,若有,则进行调试。运行程序单击菜单栏的“组建(b)”菜单下的“执行”命令,生成.exe文件。必要时,可在过程中设置断点,以便核查相应指令的运行结果。2、组播通信程序设计 只需对1的程序进行简单修改即可实现,关键是增加组名的注册(程序如下)。uchar addgroupname(char *name,uchar lana,uchar *namenum) ncb ncb; memset(&ncb,0,sizeof(ncb); ncb.ncb_command=ncbaddgr
24、name; ncb.ncb_lana_num=lana; strcpy(char *) ncb.ncb_name,name); netbios(&ncb); *namenum=ncb.ncb_num; return (ncb.ncb_cmd_cplt);该应用程序的测试请在局域网内的多台主机上实现。3、记录并理解运行显示的信息4、回答思考题并撰写实验报告七、思考题1、如何对上述通信过程作些修改,以实现双向通信(即abc既能发送数据给xyz,也能接收xyz传给它的数据),请画出它们的通信模型,并给出实现代码。2、如何对上述通信过程作些修改,以实现广播通信。(程序可参考教材上p43p47)八、实验
25、报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思
26、考题,提出实验结论或提出自己的看法。九、实验例程实验四 基于netbios会话通信程序设计实验学时:2实验类型:验证实验要求:选做一、实验目的学会如何在netbios接口上建立会话,实现面向连接的可靠通信方式。通过程序设计,掌握会话通信的原理及基本实施方法。二、实验内容设计两个应用程序分别实现如下功能:服务器方:服务器进程使用ncblisten命令侦听客户进程的连接请求,当客户进程的连接请求到来时,响应并建立会话,紧接着向客户方发送一个“welcome to server!”的消息,芮后,服务器进程进入循环接收等待,每收到一个客户进程发来的数据,便将其显示,然后继续等待接收下一个数据。当客户进
27、程拆除会话时,服务器进程随即退出循环,等待下一次的连接请求。客户方:客户进程使用ncbcall命令向指定服务器发出连接请求,会话建立后,紧接着设置接收。当收到服务器发来的“welcome to server”消息后,客户进程进入循环发送状态,用户通过键盘每键入一个字符串,便通过指定的会话链路将该字符串发送到服务器方,然后等待用户发送下一个数据。当用户键入的是“exit”时,客户进程拆除会话,退出循环,结束本次会话。三、实验原理、方法和手段编写netbios应用程序,实现两个应用程序间的会话通信。分析面向连接的会话通信的原理,结合netbios通信模式,设计程序实现基于netbios会话通信。四
28、、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握基于netbios的会话通信的模式与实现方法 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的pc机。六、实验步骤1、设计及运行程序resetncb()addname()listen()deletename()resetncb()addname()call()deletename()建立会话连接服务器客户机hangup()recv()send()send()welcome to server!发送用户数据给服务器关闭会话用户输入“exit
29、”hangup() 程序流程图:sendrecv() 编写源程序:(程序可参考教材上p49p55) 形成目标程序单击菜单栏的“组建(b)”菜单下的“编译”命令,进行编译。在“输出”窗口的“组建”标签页下查看是否存在编译错误,若有,则进行调试。 运行程序单击菜单栏的“组建(b)”菜单下的“执行”命令,生成.exe文件。必要时,可在过程中设置断点,以便核查相应指令的运行结果。2、记录并理解运行显示的信息3、回答思考题并撰写实验报告七、思考题1、会话通信与数据报通信有什么异同点。2、简述如何利用超时机制进行动态会话两路的维护。八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并
30、写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程实验五 winso
31、ck网络信息查询函数的应用实验学时:2实验类型:验证实验要求:必做一、实验目的winsock主要通过三类查询函数(主机信息查询、网络信息查询和套接字地址信息查询)来获取网络信息。通过本实验,要求熟练掌握几个winsock基本函数的使用: winsock初始化函数:wsastartup()和wsacleanup() 字节顺序转换函数:htons()、htonl()和ntohs()、ntohl() 地址转换函数:inet_addr()和inet_ntoa() 主机信息查询函数:gethostbyname()和gethostbyaddr()二、实验内容编写程序实现如下信息的查询: 已知端口号8080
32、,输出其网络顺序2字节值与主机顺序2字节值; 已知ip地址,输出其网络顺序4字节值; 输入的是ip地址,则由ip地址查询对应的计算机名或网络名; 输入的是计算机名,则由计算机名查询该主机的ip地址。三、实验原理、方法和手段掌握winsock编程的方法,应用winsock api编写程序,实现计算机网络地址信息的查看及相关处理。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握winsock api编程查看网络信息 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的p
33、c机。六、实验步骤1、编写源程序 2、调试和运行程序3、记录并理解运行显示的信息(1)查询本机信息: 首先,利用windows自带工具查询本机的计算机名和ip地址,方法如下:l 打开“我的电脑”的“属性”,选择“计算机名”标签可以获取本机的计算机名;l 在命令提示符中键入ipconfig/all可以获取本机的ip地址并做好记录。本机的计算机名:本机的ip地址: 运行程序,作如下测试:l 键入本机的计算机名,记录屏幕上显示的结果。l 键入本机的ip地址,记录屏幕上显示的结果。 结论:(2)查询同网中其他主机的信息(至少选择三台不同的主机,重复步骤,请做好相关记录): 查询某主机的计算机名和ip地
34、址,方法同上。请记录它的计算机名和ip地址。 运行程序,作如下测试:l 键入计算机名,记录屏幕上显示的结果。l 键入ip地址,记录屏幕上显示的结果。 根据测试的结果,回答下列问题:问题1:(2)中得到的数据与(1)中的一致吗?问题2:除了计算机名和ip地址还可以查询哪些信息,请你修改程序实现。4、回答思考题并撰写实验报告七、思考题运行程序,分别输入错误的(或不存在的、不在同一网络中的)ip地址和计算机名,记录屏幕上显示的信息。你的程序对错误的处理正确吗?八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、
35、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程实验六 winsock会话通信程序设计实验学时:2实验类型:验证实验要求:必做一、实验
36、目的学习如何利用会话套接字实现可靠的面向连接的通信过程。通过本实验,要求熟练掌握几个winsock基本函数的使用:基本winsock函数:socket()、bind()、listen()、accept()、connect()、shutdown()、closesocket()winsock数据传输函数:send()、recv()二、实验内容1、设计一个winsock会话通信程序:服务器端程序在2000端口进行侦听,并进入等待连接状态。客户端尝试与服务器端连接。连接一旦建立,服务器和客户端之间就可以进行通信。客户端提示输入一个数字,比如输入50,那么客户端会从“data0”到“data49”发送5
37、0个字符串,输入0退出。2、 设计一个ftp小程序:服务器端程序在2000端口进行侦听,并进入等待连接状态。客户端尝试和服务器端建立连接。连接一旦建立,就可以在服务器端和客户段之间进行文件传输,程序里要求文件小于32kb。客户端提示输入待传的文件名,该文件名可以带路径,服务器端收到文件后,将其写到相应位置。注:服务器端使用的端口号为2000,客户端使用的端口号为3000。三、实验原理、方法和手段掌握winsock编程的方法,应用winsock api编写程序,实现会话通信程序设计。通过程序的调试与运行,进一步了解winsock编程的原理及通信方法。四、实验组织运行要求根据本实验的特点、要求和具
38、体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握winsock api编程实现会话通信程序设计 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的pc机。六、实验步骤1、阅读源程序 程序参见实验例程 2、调试和运行程序3、记录并理解运行显示的信息4、回答思考题并撰写实验报告七、思考题假设服务器端程序与客户端程序分别运行在同一个局域网内的两台不同主机上,且已知服务器的主机名为“testserver”,服务器端使用的端口号为2000,客户端使用的端口号为3000,而客户端不知道服务器的ip地址,试问这种情况下,客户端应该如何连接服务器
39、?客户端的程序应该怎样修改?请写出修改部分的代码。八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作
40、的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程实验七 winsock数据报通信程序设计实验学时:2实验类型:验证实验要求:选做一、实验目的学习如何利用套接字实现两种特殊的数据报通信多播和广播。通过本实验,要求掌握以下内容: 使用winsock实现广播通信和多播通信的一般步骤 利用setsockopt()函数设置套接字选项:如何设置套接字的广播属性;如何加入或离开一个多播组。二、实验内容1、编写程序实现实现广播通信:发送方的ip地址设为本机地址,在端口3000上进行广播发送,发送50个数据,数据内容分别为data0data49。接收方在
41、端口2000进行数据的接收。2、实现ip多播:接收方首先加入一个指定的组“”,发送方只是将数据发给多播组,本身并不接受多播组内成员发送的数据。接收方利用一个循环结构,等待进入的数据。三、实验原理、方法和手段掌握winsock编程的方法,应用winsock api编写程序,实现数据报通信程序设计。通过程序的调试与运行,进一步了解winsock编程的原理及通信方法。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握winsock api编程实现数据报通信程序设计 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备
42、windows操作系统、带有vc+软件的pc机。六、实验步骤1、阅读源程序 程序参见实验例程 2、调试和运行程序3、记录并理解运行显示的信息4、回答思考题并撰写实验报告七、思考题比较基于winsock的广播通信与多播通信的不同。八、实验报告1、实验预习在实验前每位同学都需要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求,需要用到的仪器设备、物品资料以及简要的实验步骤,形成一个操作提纲。对实验中的注意事项及可能出现的现象等做到心中有数,但这些不要求写在预习报告中。设计性实验要求进入实验室前写出实验方案,并经指导教师审阅后实施。2、实验记录学生开始实验时,应该将记录本放
43、在近旁,将实验中所做的每一步操作、观察到的现象和所测得的数据及相关条件如实地记录下来。实验记录中应有指导教师的签名。3、实验报告主要内容包括对实验数据、实验中的特殊现象、实验操作的成败、实验的关键点等内容进行整理、解释、分析总结,回答思考题,提出实验结论或提出自己的看法。九、实验例程实验八 winsock多线程网络编程实验学时:2实验类型:验证实验要求:选做一、实验目的学习使用线程来实现网络通信程序设计。通过本实验,要求了解线程同步的几个对象的使用: 临界区 互斥量 信号量 事件对象二、实验内容1、熟悉线程的创建:通过线程运行来读取系统时间。2、熟悉临界区的使用:通过临界区对象编程实现系统内存
44、的共享。3、设计一个多线程的winsock会话通信程序: 注:参考教材上8084页的程序,把该应用程序改造成多线程网络通信。三、实验原理、方法和手段掌握winsock编程的方法,应用winsock api编写程序,实现计算机网络地址信息的查看及相关处理。四、实验组织运行要求根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学。重点:掌握winsock api编程查看网络信息 难点:实验程序的问题描述、实现算法、数据结构。五、实验条件具备windows操作系统、带有vc+软件的pc机。六、实验步骤1、运行“实验讲义”目录下多线程获取系统时间应用程序,并测试程序。2、运行“实验讲义”目录下多线程编程(临界区)应用程序,并测试程序。改进winsock会话通信程序(参考书上8084页程序),引入多线程编程(参考书上156163页程序),设计一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林师范大学《书法技法解析》2021-2022学年第一学期期末试卷
- 书法爱好者交流会活动方案
- 吉林师范大学《行政法与行政诉讼法》2021-2022学年第一学期期末试卷
- 市政工程深基坑开挖安全方案
- 企业内部安保与秩序维护方案
- 吉林大学《作物栽培学Ⅱ》2021-2022学年第一学期期末试卷
- 吉林大学《新闻摄影》2021-2022学年第一学期期末试卷
- 2024水稳碎石混合料采购合同
- 生态修复沉淀池施工方案
- 吉林大学《水科学导论》2021-2022学年第一学期期末试卷
- Python程序设计课件第7章面向对象程序设计
- 空运提单格式
- 课件零件手册vespa gts250ie2011-2013cina
- 咽喉解剖生理医学课件
- 幼儿园课件《挠挠小怪物》
- 骨质疏松症-PPT课件
- 调查问卷-“职工之家”建设调查问卷
- 2019年11月系统集成项目管理工程师真题
- 小小建筑师公开课-PPT课件
- 完整版老旧住宅小区综合整治工程施工组织设计方案
- 小学三年级(12)班家长会课件
评论
0/150
提交评论