您现在的位置: > 首页 > 程序开发 > C语言教程
>> 最新教程
>> 热门教程
>> 最新游戏资讯
>> 热门游戏资讯
基于套接字通信的远程截屏显示与控制技术
作者:本站                来自:安迪教程网                 加入时间:08-07-22                进入论坛讨论

  远程控制技术在远程设备(软件)的维护、监控与故障诊断等方面有广泛的应用前景,且大都使用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地址与端口号;

<<< << < 1 2 3 4 5 6 > >> >>>
联系方式:QQ:6084884 email:agwcn@126.com 粤ICP备05055782号
本网站中发布的文章只代表发表人的个人观点,不代表安迪教程网网站的立场
copyright© 2000-2004 安迪教程网 All rights reserved agwcn.com