基于套接字通信的远程截屏显示与控制技术
2008-05-31 21:39:12 来源:WEB开发网远程控制技术在远程设备(软件)的维护、监控与故障诊断等方面有广泛的应用前景,且大都使用Client/Server模式。该结构包括连接在网络中的多台计算机,那些处理应用、请求另一计算机服务的计算机为客户机(本地机),而响应请求并处理请求的计算机称为服务器(目标机)。
远程控制的原理[1]是:用户连接到网络上,客户程序发送身份验证信息和与远程主机连接的请求,远程主机的服务器端程序验证客户身份,若验证通过,就与客户建立连接,并向用户发送验证通过和已建立连接的信息。此时用户便可以通过客户端程序向远程主机发送要执行的指令,而服务器端程序则执行这些指令,并把键盘、鼠标和屏幕刷新传给客户端程序,客户端程序通过处理把主机屏幕等信息进行显示,使用户就像亲自在远程主机上操作一样。这种方式称为基于远程服务的远程控制(Remote Control over Remote Service)。
综上所述,实现客户端对服务端的远程控制,需要就解决双机Socket网络通信、远程截取屏幕显示以及屏幕数据传送控制等3个问题进行讨论。
1 双机Socket网络通信[2]
初始化服务端Socket:在调用Socket前先要初始化,即加载相应版本的DLL,通过调用WSAStartup函数,将加载成功的Socket库版本的相关信息填在LPWSADATA结构中;
WSADATA lpWSAData;
WSAStartup(MAKEWORD(1,1),&lpWSAData);
创建服务端Socket:完成初始化之后,调用socket函数创建一个套接字,返回套接字句柄,在其后通信中始终用来标识套接字,若调用失败则返回INVALID_SOCKET;
SOCKET sktConnect=socket(AF_INET,SOCK_STREAM,0);
绑定服务端地址:在为某种特定协议创建了套接字后,就用bind函数将套接字绑定到一个本机地址,其类型是sockaddr,用于指明套接字绑定地址,包括IP地址与端口号;
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接