Visual C++网络编程技术-02.ppt
《Visual C++网络编程技术-02.ppt》由会员分享,可在线阅读,更多相关《Visual C++网络编程技术-02.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扫描可控计算机扫描可控计算机授课教师:授课教师:网络编程网络编程网络编程技术网络编程技术导入导入v电子教室电子教室软件主要功能软件主要功能是教师可以通过教师机程是教师可以通过教师机程序控制和管理学生机序控制和管理学生机 v教师机端控制程序能够主动扫描学生机,确定哪教师机端控制程序能够主动扫描学生机,确定哪些学生已经进入电子教室,是可控计算机些学生已经进入电子教室,是可控计算机 v本章通过简单的通信程序实现扫描局域网内可控本章通过简单的通信程序实现扫描局域网内可控计算机的功能计算机的功能 网络编程技术网络编程技术本章要点本章要点v 扫描可控计算机功能实现分析扫描可控计算机功能实现分析v WinS
2、ock通信编程技术通信编程技术v MFC网络通信编程技术网络通信编程技术网络编程技术网络编程技术扫描可控计算机功能需求分析扫描可控计算机功能需求分析v 教师机主动联系学生机,如果不能与学生机建立教师机主动联系学生机,如果不能与学生机建立联系,则说明学生机端没有运行该程序,该学生联系,则说明学生机端没有运行该程序,该学生机不在可控范围;反之,如果教师机与学生机成机不在可控范围;反之,如果教师机与学生机成功的取得了联系,则证明学生机已启动程序,处功的取得了联系,则证明学生机已启动程序,处于可控状态。于可控状态。v教师机扫描学生机时,应该可以设置扫描范围,教师机扫描学生机时,应该可以设置扫描范围,例
3、如一个例如一个IP地址范围,教师机与范围内的所有学地址范围,教师机与范围内的所有学生机逐一联系,判断其是否处于可控状态,将处生机逐一联系,判断其是否处于可控状态,将处于可控状态的学生机显示在教师机端的程序界面于可控状态的学生机显示在教师机端的程序界面上。上。网络编程技术网络编程技术设计程序界面设计程序界面 网络编程技术网络编程技术关键技术分析关键技术分析v关键技术就是两台联网的计算机之间进行通信关键技术就是两台联网的计算机之间进行通信 v采用什么技术实现网络通信采用什么技术实现网络通信?套接字(套接字(Socket)网络编程技术网络编程技术WinSock进行面向连接通信编程进行面向连接通信编程
4、网络编程技术网络编程技术WinSock实现基于实现基于TCP的客户端的客户端/服务器通信服务器通信 v程序演示程序演示v程序源代码(见教材程序源代码(见教材P18)网络编程技术网络编程技术程序代码详解程序代码详解头文件和库文件头文件和库文件#include#pragma comment(lib,ws2_32.lib)使用使用WinSock进行编程开发,需要头文件进行编程开发,需要头文件和库文件和库文件ws2_32.lib的支的支持。持。网络编程技术网络编程技术程序代码详解程序代码详解 WSADATA1.WSADATA wsaData;2.if(ret=WSAStartup(MAKEWORD(2
5、,2),&wsaData)!=0)3.4.printf(初始化初始化WinSock出错出错);5.return 0;6.7.WSACleanup();网络编程技术网络编程技术程序代码详解程序代码详解 socketv调用调用Socket()函数可以建立套接字函数可以建立套接字v函数原型:函数原型:SOCKET socket(int af,int type,int protocol)v参数参数af:套接字要使用的协议地址族,目前只提:套接字要使用的协议地址族,目前只提供供AF_INET表示使用互联网协议表示使用互联网协议(IP)地址。地址。v参数参数type:描述套接字的类型,只能是:描述套接字的
6、类型,只能是SOCK_STREAM、SOCK_DGRAM、SOCK_RAW 中的一个。中的一个。v参数参数protocol:该套接字使用的特定通信协定:该套接字使用的特定通信协定(如果使用者不指定则设为如果使用者不指定则设为0)。网络编程技术网络编程技术程序代码详解程序代码详解bindv调用调用bind()函数为服务器端定义的监听套接字指函数为服务器端定义的监听套接字指定一个地址及监听端口定一个地址及监听端口(Port)vint bind(SOCKET s,const Struct sockaddr FAR*name,int namelen);v参数参数s:未绑定的套接字的对象名。:未绑定的套
7、接字的对象名。v参数参数name:套接字的地址值,是个结构体。:套接字的地址值,是个结构体。v参数参数namelen:地址参数:地址参数name的长度。的长度。网络编程技术网络编程技术程序代码详解程序代码详解listenv listen函数在函数在TCP服务器端使用,通知协议内核服务器端使用,通知协议内核用户进程准备接受接口上的连接请求用户进程准备接受接口上的连接请求vint listen(SOCKET s,int backlog);v参数参数s:已绑定但尚未连接的套接字句柄,也是由:已绑定但尚未连接的套接字句柄,也是由socket()函数创建的套接字句柄。函数创建的套接字句柄。v参数参数ba
8、cklog:待处理的连接队列的最大长度。:待处理的连接队列的最大长度。当连接的客户数大于这个最大长度并且服当连接的客户数大于这个最大长度并且服 网络编程技术网络编程技术程序代码详解程序代码详解acceptvaccept函数在服务器端等待并接受客户的连接,函数在服务器端等待并接受客户的连接,该函数返回一个新的套接字,该套接字可以用来该函数返回一个新的套接字,该套接字可以用来与对方进行通信,而原先的套接字还是处于监听与对方进行通信,而原先的套接字还是处于监听状态。状态。vint accept(SOCKET s,struct sockaddr FAR*addr,int FAR*addrlen);v参
9、数参数s:表示处于监听模式的套接字句柄。:表示处于监听模式的套接字句柄。v参数参数addr:是:是SOCKADDR对象的地址。对象的地址。v参数参数addrlen:表示:表示addr参数的长度。参数的长度。网络编程技术网络编程技术程序代码详解程序代码详解send vsend函数发送数据函数发送数据vint send(SOCKET s,const char FAR*buf,int len,int flags);v参数参数s:表示已连接的本地套接字描述符。:表示已连接的本地套接字描述符。v参数参数buf:表示要发送的缓冲区数据。:表示要发送的缓冲区数据。v参数参数len:表示缓冲区的长度。:表示缓
10、冲区的长度。v参数参数flags:表示标志类型,可以为:表示标志类型,可以为0,MSG_DONTROUTE,MSG_OOB。网络编程技术网络编程技术程序代码详解程序代码详解recv vrecv函数从函数从TCP连接的另一端接收数据连接的另一端接收数据 vint recv(SOCKET s,char FAR*buf,int len,int flags);v参数参数s:接收端套接字描述符。:接收端套接字描述符。v参数参数buf:指明一个缓冲区,用来存放接收到的:指明一个缓冲区,用来存放接收到的数据。数据。v参数参数len:buf的长度。的长度。v参数参数flags:表示标志,可以是:表示标志,可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual C+网络编程技术-02 C+ 网络 编程 技术 02
限制150内