




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计 算 机 网 络实验指示书(编写:张守祥)山东工商学院电子系2009年2月前 言计算机网络课程是信息技术相关专业的重要专业课程之一。随着计算机网络技术的迅速发展和在当今信息社会中的广泛应用,给计算机网络课程的教学提出了新的更高的要求。由于计算机网络是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。将计算机网络课程建设成国内一流的课程,是近期计算机网络课程努力的方向。希望同学们在使用本实验指示书及进行实验的过程中,能够帮助我们不断地发现问题,并提出建议。目 录实验要求1实验一 常用网络命令2实验二TCP/IP协议体系结构分析3实验三 CRC编程及以太网协议分析4实验四 网络层协议分析5实
2、验五 路由器配置6实验六 传输层协议分析8实验七 网络编程一9实验八 网络编程二15实验九 网络管理实验一30实验十 网络管理实验二35实验要求计算机网络是现代信息社会最重要的基础设施之一。在过去十几年里得到了迅速的发展和应用。计算机网络课程实验的目的是为了使学生在课程学习的同时,通过在一个计算机网络环境中的实际操作,对现代计算机网络的基本功能有一个初步的了解;通过实现一个数据链路层协议,掌握计算机网络通信协议的基本实现技术;通过一个简单文件传送协议的设计和实现,了解计算机网络高层协议设计实现的环境和方法;通过实现一个简单的协议状态机了解、掌握协议描述和实现中这一重要技术;还提供了一些选做实验
3、以供有余力有兴趣的同学进一步提高。总之,通过上述实验环节,使学生加深了解和更好地掌握计算机网络课程教学大纲要求的内容。在计算机网络的课程实验过程中,要求学生做到:(1)预习实验指示书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。(2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分析。(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。对需编程的实验,写出程序设计说明,给出源程序框图和清单。(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。(5)实验课程不迟到,不早退。如有事不能出席,需要向辅导教师请假,所缺实验一般不补。实
4、验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时提问。第二部分是提交书面的实验报告。此外,针对以前教学中出现的问题,网络实验将采用阶段检查方式,每个实验都将应当在规定的时间内完成并检查通过,过期视为未完成该实验,不计成绩。以避免期末集中检查方式产生的诸多不良问题,希望同学们抓紧时间,合理安排,认真完成。实验一 常用网络命令一、实验内容1、掌握常用网络命令的使用,能对网络进行简单的分析、测试。要求掌握IPConfig和Ping两个基本命令。、WireShark软件的安装和基本作用。WireShark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列
5、表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。 使用WireShark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址、IP地址、TCP端口号,以及HTTP协议的具体内容。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。二、实验目的要求1、掌握网络常用的使用方法和操作命令,能运用相关程序进行简单的网络调试、诊断与管理。2、WireShark软件的安装和基本作
6、用。三、实验方式与基本要求1、每两人一组相互测试两台计算机的网络连通性,注意分析检测时计算机反馈的信息,能够对其进行简单的解释。若不能检测到对方的计算机地址,需要掌握查找问题或故障的方法,能够解决问题和排除故障。2、用WireShark能够捕获任一协议。四、实验步骤1、在WindowsXP上的命令窗口上执行IPConfig和Ping。2、在Windows XP/2000环境下,要求联网。安装WinPcap和WireShark1 安ireS装软件:首选安装,然后安装WireShark10。2 启动Whark3 设置捕获接口和选项:启动WireShark,单击Capture菜单,选择Options
7、。Interface: 指定在哪个接口(网卡)上抓包,需要指定捕获的网卡。4 捕获数据包:在Capture Options窗口中,按Start按钮后,即可开始捕获网络包。五、写出实验报告1、记录配置过程。2、说明IPConfig和Ping和WireShark的用法。实验二TCP/IP协议体系结构分析一、实验内容WireShark软件的安装,使用WireShark捕获浏览学校网站首页发出和接收的TCP/IP各层协议,并进行分析和记录,写出实验报告。二、实验目的WireShark软件的安装、过滤规则的学习、使用WireShark捕获TCP/IP各层协议包并进行分析。三、实验环境在Windows X
8、P/2000环境下,要求联网。安装WinPcap和WireShark。四、实验步骤1、安装软件首选安装WinPcap,然后安装WireShark。2、启动WireShark3、设置捕获接口和选项启动WireShark,单击Capture菜单,选择Options。Interface: 指定在哪个接口(网卡)上抓包,需要指定捕获的网卡。4、 捕获数据包在Capture Options窗口中,按Start按钮后,即可开始捕获网络包。5、分析数据包WireShark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用
9、来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。 使用WireShark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。 五、写出实验
10、报告捕获浏览学校网站首页发出和接收的TCP/IP各层协议各一,并进行记录,写出实验报告。实验三 CRC编程及以太网协议分析一、实验内容1、使用WireShark捕获PING命令发出、接收Ethernet帧各1帧和1个广播帧,并对这3帧Ethernet帧进行分析和记录,对这3帧在原始英文记录的基础上写出对应的中文,写出实验报告。2、能够编写计算CRC码和校验程序。二、实验目的1、使用WireShark捕获Ethernet帧和高层协议数据包并对Ethernet帧和高层协议数据包进行分析。2、学习CRC编程实现的基本方法。三、实验环境在Windows XP/2000环境下,安装WireShark。C
11、RC需要VC+6.0./2003/2005 环境。四、实验步骤1、安装WireShark软件、启动WireShark、设置捕获接口和选项、捕获数据包2、 CRC编码实现(主函数)int k=自己的学号后两位; /输入信息码,这里的信息选为7位 int g=0x13; /生成多项式系数 (这里的生成多项式是4次的,所以系数有5个,为10011,用十六进制表示) k=4; /信息左移4位,相当于信息码后面加上(g-1)个0. g=g6; /多项式系数左移到开始位异或的位置 printf(%dn,sizeof(int); for (i=0;i7;)if (k0x400) /表示首位为0,所以要继续往
12、左移动k=7; /现在的t是余数 printf(余数:%d n,k); return 0; 五、写出实验报告1、记录已调试通过的CRC源程序。2、捕获3个Ethernet帧协议组,其中1个为广播帧,记录全部内容。实验四 网络层协议分析一、实验内容WireShark软件的安装、WireShark过滤规则的学习、使用WireShark捕获ARP协议及IP协议数据包并对ARP和IP数据包进行分析。二、实验目的WireShark软件的安装、过滤规则的学习、使用WireShark捕获ARP协议及IP协议数据包并对ARP和IP数据包进行分析。三、实验环境在Windows XP/2000环境下,要求联网。安
13、装WinPcap和WireShark。四、实验步骤1、创建过滤规则启动WireShark,单击Capture按钮,选择Capture Filters。2、 捕获数据包启动WireShark 以后,选择菜单Capature-Start。Interface: 指定在哪个接口(网卡)上抓包。一般情况下都是单网卡,所以使用缺省的就可以了。Limit each packet: 限制每个包的大小,缺省情况不限制。3、分析数据包WireShark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协
14、议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。 使用WireShark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。 五、写出实验报告捕获浏览学校网站首页发
15、出和接收的ARP和IP协议各一,并进行记录,写出实验报告。实验五 路由器配置一、实验内容在模拟软件上将两个网段通过两台路由器Router1和Router2连接起来,Switch1通过以太网口连接PC1和PC2,Switch2通过以太网口连接PC3和PC4,两个交换机通过路由器连接起来。通过使用配置网络和使用常用网络命令来加深了解网络概念和结构。二、实验目的掌握常用网络命令的使用,能对网络进行简单的分析、测试。掌握对小规模网络进行路由设置和管理。三、实验环境使用模拟软件“Boson Router Simulator”,路由器为Cisco2514。连接方法:以太网连接。地址分配:PC1:192.1
16、68.0.1; PC2:; PC3:; 子网掩码均为。路由器Router1.Ethernet0:; Router1.Ethernet1:; Router2.Ethernet0:; Router2.Ethernet1:。四、实验步骤1、网络结构设计:4台PC,2台交换机,2台路由器。利用Boson Network Designer。2、装入网络结构Netmap,利用Boson NetSim for CCNP。3、配置路由器接口进入Route
17、r1Router1enable 用户模式进入特权模式Router1#configure terminal 特权模式进入全局配置模式Router1(config)#interface ethernet 0 全局配置模式进入接口配置模式Router1(config-if)#ip address 配置以太网接口IP地址及掩码Router1(config-if)#no shutdown 激活接口Router1(config)#interface ethernet 1 配置以太网接口Router1(config-if)#ip address 192.1
18、68.2.1 配置以太网接口IP地址及掩码Router1(config-if)#no shutdown 激活接口进入Router2Router2enableRouter2#configure terminalRouter2(config)#interface ethernet 0Router2(config-if)#no shutdownRouter2(config)#interface ethernet 1Router2(config-if)#no shutdown4、配置静态路由进入Router1,配置路由到子网要经过与本路由器邻接的路由器
19、接口IP地址。进入Router2,配置5、PC网络配置IPCONFIG:配置本机IP地址,子网掩码,网关。6、网络验证PING:2个网段连通。Tracert的使用。7、路由器配置查看命令 show running-config: 可显示本路由器的全部配置 show ip route: 可显示路由配置 show interface ethernet 0: 可显示相应端口配置 exit: 回到上一级配置模式五、写出实验报告1、记录Netsim安装过程。2、记录Netsim配置过程。实验六 传输层协议分析一、实验内容WireShark软件的安装、WireShark过滤规则的学习、使用WireShar
20、k捕获TCP和UDP协议数据包,并对传输层数据包进行分析。二、实验目的WireShark软件的安装、过滤规则的学习、使用WireShark捕获TCP和UDP协议数据包并对Ethernet帧和高层协议数据包进行分析。三、实验环境在Windows XP/2000环境下,要求联网。安装WinPcap和WireShark。四、实验步骤1、创建过滤规则启动WireShark,单击Capture按钮,选择Capture Filters。2、捕获数据包启动WireShark 以后,选择菜单Capture-Start。Interface:指定在哪个接口(网卡)上抓包。3、分析数据包WireShark和其它的图
21、形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用WireShark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypert
22、ext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。 五、写出实验报告1、捕获UDP数据报,记录1个数据报的全部,并说明其上一层的协议是什么。2、捕获TCP数据报,记录1个数据报的全部,并说明其上一层的协议是什么。实验七 网络编程一一、实验内容基于TCP协议建立连接后,客户机给服务器发送一个数据结构的内容。阻塞,等待客户数据socket()listen()accept()write()read()close()connect()socket()bind()write()read()close()处理服务请求建立连接请求数据应答数据服务
23、器客户机面向连接时的套接字应用程序时序二、实验目的运用C语言或其它语言工具,掌握和利用各种语言工具所提供的Socket技术,在TCP协议之上进行面向连接(或在UDP之上实现无连接)的客户机/服务器模式的应用软件的开发,实现数据的发送和接收。三、实验环境在Windows XP/2000下的VC+6.0./2003/2005 环境下。四、实验步骤1、进入IDE开发环境2、输入源程序:2人作为1组,分别输入客户端程序和服务器端程序。3、编译连接4、调试: 服务器程序首先运行,等待客户连接。客户连接上服务器后,发送信息。客户端的连接方式为:程序名 服务器IP地址姓名年龄五、写出实验报告1、记录程序调试
24、过程。2、画出程序流程图。服务器端源程序/ Winserver.cpp : 定义控制台应用程序的入口点。/ 运行时没有参数,使用端口进行侦听#include stdafx.h#include #include /侦听端口#define SERVER_PORT 6666/客户端向服务器传送结构struct studentchar name32;int age;int main(int argc, const char * argv)WORD wVersionRequested;WSADATA wsaData;int ret , nLeft, length;SOCKET sListen, sSer
25、ver; /侦听套接字,连接套接字struct sockaddr_in saServer,saClient; /地址信息struct student stu;char *ptr;wVersionRequested = MAKEWORD(2,2); /希望使用的WinSock DLL的版本ret = WSAStartup( wVersionRequested, &wsaData);if (ret !=0)printf(WSAStarup() failed!n); return 0;if (LOBYTE(wsaData.wVersion) !=2 | HIBYTE(wsaData.wVersion
26、) !=2)WSACleanup();printf(Invalid Winsock version!n);return 0;/创建Socket,使用TCP技术sListen=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sListen = INVALID_SOCKET) WSACleanup();printf(socket() failed!n);return 0;/构建本地址信息saServer.sin_family = AF_INET; /地址家族saServer.sin_port = htons(SERVER_PORT); /注意转化为网络字
27、节序saServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY); /使用INADDRANY指示任意地址/绑定ret= bind(sListen,(struct sockaddr *)&saServer, sizeof(saServer);if (ret= SOCKET_ERROR)printf(bind() failed! code:%dn, WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;/侦听连接请求ret = listen(sListen, 5);if (ret
28、 = SOCKET_ERROR)printf(listen() failed! code:%dn,WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;printf(Waiting for client connecting!n);printf(tips: Ctrl+c to quit!n);/阻塞等待接受客户端连接length = sizeof(saClient);sServer= accept(sListen, (struct sockaddr *) &saClient, &length);if (sServ
29、er =INVALID_SOCKET)printf(accept() failed! code:%dn,WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;printf(Accepted client :%s:%dn,inet_ntoa(saClient.sin_addr),ntohs(saClient.sin_port);/按照预定协议,客户端将发来一个学生的信息nLeft = sizeof(stu);ptr=(char *) &stu;while (nLeft 0 )/接收数据 ret = recv(sSe
30、rver, ptr, nLeft, 0); if (ret = SOCKET_ERROR) printf(recv() failed!n);break; if (ret=0) /客户端已经关闭连接printf(client has close the connection!n);break; nLeft -=ret; ptr+=ret;if (!nLeft) /已经接收到了所有数据printf(name:%snage:%dn, ,stu.age);closesocket(sListen); /关闭套接字closesocket(sServer);WSACleanup();retu
31、rn 0; 2、客户机端源程序/ WinClient.cpp : 定义控制台应用程序的入口点。/参数为:服务器IP地址学生名学生年龄#include stdafx.h#include #include #include #include #define SERVER_PORT 6666/客户端向服务器传送结构struct studentchar name32;int age;int main(int argc, const char * argv)WORD wVersionRequested;WSADATA wsaData;int ret ;SOCKET sClient; /连接套接字stru
32、ct sockaddr_in saServer; /地址信息struct student stu;char *ptr=(char *)&stu;BOOL fSuccess = TRUE;if (argc !=4)printf(usage:informWinClient serverIP name agen);return 0;/WinSock初始化wVersionRequested = MAKEWORD(2,2); /希望使用的WinSock DLL的版本ret = WSAStartup( wVersionRequested, &wsaData);if (ret !=0)printf(WSAS
33、tarup() failed!n); return 0;if (LOBYTE(wsaData.wVersion) !=2 | HIBYTE(wsaData.wVersion) !=2)WSACleanup();printf(Invalid Winsock version!n);return 0;/创建Socket,使用TCP技术sClient=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sClient = INVALID_SOCKET) WSACleanup();printf(socket() failed!n);return 0;/构建服务器地
34、址信息saServer.sin_family = AF_INET;/地址家族saServer.sin_port= htons(SERVER_PORT);/注意转化为网络字节序saServer.sin_addr.S_un.S_addr = inet_addr(argv1);/连接服务器ret= connect(sClient,(struct sockaddr *)&saServer, sizeof(saServer);if (ret= SOCKET_ERROR)printf(connect() failed!n);closesocket(sClient);/关闭套接字WSACleanup();r
35、eturn 0;/按照预定协议,客户端将发送一个学生的信息strcpy(,argv2);stu.age=atoi(argv3);ret = send(sClient, (char *) &stu, sizeof(stu),0);if (ret = SOCKET_ERROR)printf(Send() failed!n);elseprintf(Student info has been sent!n);closesocket(sClient);/关闭套接字WSACleanup();return 0;实验八 网络编程二一、实验内容使用Winwock异步选择模型编程实现一个简单的基于
36、TCP协议的聊天程序,每个程序既可以做TCP主叫方(Cient),以可以作TCP被叫方(Server)。二、实验目的运用C语言或其它语言工具,掌握和利用各种语言工具所提供的Socket技术,在TCP协议之上进行面向连接(或在UDP之上实现无连接)的客户机/服务器模式的应用软件的开发,实现点对点的聊天。三、实验环境在Windows XP/2000下的VC+6.0./2003/2005 环境下。四、实验步骤1、服务器端源程序/ talksDlg.cpp : implementation file/#include stdafx.h#include talks.h#include talksDlg.
37、h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VI
38、RTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataE
39、xchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CTalksDlg dialogCTalksDlg:CTalksDlg(CWnd* pParent /*=NULL*/): CDialog(CTalksDlg:IDD, pParent)/AFX_DATA_INIT(CT
40、alksDlg)m_strServName = _T();m_strMsg = _T();m_nServPort = 0;/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CTalksDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CTalksDlg)DDX_Con
41、trol(pDX, IDC_BUTTON_LISTEN, m_btnListen);DDX_Control(pDX, IDC_LIST_RECEIVED, m_listReceived);DDX_Control(pDX, IDC_LIST_SENT, m_listSent);DDX_Text(pDX, IDC_EDIT_SERVNAME, m_strServName);DDX_Text(pDX, IDC_EDIT_MSG, m_strMsg);DDX_Text(pDX, IDC_EDIT_SERVPORT, m_nServPort);/AFX_DATA_MAPBEGIN_MESSAGE_MAP
42、(CTalksDlg, CDialog)/AFX_MSG_MAP(CTalksDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_LISTEN, OnButtonListen)ON_BN_CLICKED(IDC_BUTTON_CLOSE, OnButtonClose)ON_BN_CLICKED(IDOK, OnSendMsg)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CTalksDlg message handlersBOOL CTalksDlg:OnInitDia
43、log()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. T
44、he framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization here/initialize the control variablesm_strServName=localhost;/server name=localhostm_nServPort=1000;/se
45、rver port=1000UpdateData(FALSE);/set socket dialog pointers,m_sListenSocket.SetParent(this);m_sConnectSocket.SetParent(this);return TRUE; / return TRUE unless you set the focus to a controlvoid CTalksDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbou
46、t.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CTalksDlg:OnPaint() if (IsIconic()CPaintDC dc
47、(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.He
48、ight() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CTalksDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CTalksDlg:OnButtonListen() /retrive data from d
49、ialogUpdateData(TRUE);/disable the connection and type controlsGetDlgItem(IDC_BUTTON_LISTEN)-EnableWindow(FALSE);GetDlgItem(IDC_EDIT_SERVNAME)-EnableWindow(FALSE);GetDlgItem(IDC_EDIT_SERVPORT)-EnableWindow(FALSE);GetDlgItem(IDC_STATIC_SERVNAME)-EnableWindow(FALSE);GetDlgItem(IDC_STATIC_SERVPORT)-Ena
50、bleWindow(FALSE);/server,create a socket bound to the port specifiedm_sListenSocket.Create(m_nServPort);/listen for connection requestm_sListenSocket.Listen();void CTalksDlg:OnButtonClose() /call the OnClose functionOnClose();void CTalksDlg:OnSendMsg() int nLen;/length of messageint nSent;/length of message been sent/retrive data from dialogUpdateData(TRUE);/any message to be sent?if (!m_strMsg.IsEmpty()/get length of the messagenLen=m_strMsg.GetLength();/send the messagenSent=m_sConnectSo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60947-8:2003/AMD1:2006 FR-D Amendment 1 - Low-voltage switchgear and controlgear - Part 8: Control units for built-in thermal protection (PTC) for rotating electrical ma
- 【正版授权】 IEC 60598-2-1:1979/AMD1:1987 EN-D Amendment 1 - Luminaires. Part 2: Particular requirements. Section One: Fixed general purpose luminaires
- 【正版授权】 IEC 61643-11:2025 EN-FR Low-voltage surge protective devices - Part 11: Surge protective devices connected to AC low-voltage power systems - Requirements and test methods
- 北汽汽修知识培训班课件
- 校园防欺凌安全知识培训课件
- 航空急救试题及答案
- 钎焊相关试题及答案
- 器械清洗试题及答案
- 信号工考试试题及答案
- 校园保洁安全知识培训课件
- 钱大妈合同协议书
- 育苗基地转让合同协议
- 静脉治疗的质量管理
- 脑-耳交互神经调控-全面剖析
- 矿用圆环链简介
- 水利工程安全事故案例分析
- 《新入职护士培训大纲》
- 《现代酒店管理与数字化运营》高职完整全套教学课件
- 叶类药材鉴定番泻叶讲解
- 药物制剂生产(高级)课件 5-11 清场管理
- 2025安徽安庆高新投资控股限公司二期招聘8人高频重点提升(共500题)附带答案详解
评论
0/150
提交评论