社区
网络编程
帖子详情
高分求远程控制的详细算法。
lonenomad
2004-11-22 12:42:17
只有源码,不给分。我有一份源码,但对远程控制的设计过程不太了解。急,我先谢谢各位了。
...全文
230
17
打赏
收藏
高分求远程控制的详细算法。
只有源码,不给分。我有一份源码,但对远程控制的设计过程不太了解。急,我先谢谢各位了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loucai
2004-11-23
打赏
举报
回复
up
loka
2004-11-22
打赏
举报
回复
服务端在收到的数据中检测标志字符串,有就执行相对应的命令,over.
lw107
2004-11-22
打赏
举报
回复
up
i_love_star
2004-11-22
打赏
举报
回复
基本就是kingzai的思想
首先定义一个结构(作为发送包的包头)
typedef struct _tagHeaderInfo
{
DWORD dwFlag; // 标志(区别这是个远程控制命令包还是其他作用的包)
DWORD dwSize; // 结构大小
DWORD dwType; // 控制命令的类型(被控端由这个值判断执行什么样的远程操作)
}HEADER_INFO, *PHEADER_INFO, *LPHEADER_INFO;
有可能你的远程控制命令还需要额外信息,比如你想远程打开一个IE且网址为www.csdn.net,则网址就是附加信息.这就需要再定义一个结构
typedef struct _tagOperationA
{
HEADER_INFO header; // 包头
char szURL[MAX_PATH];// 附加URL信息
}OPERATION_A, *POPERATION_A, *LPOPERATION_A;
再比如你想5分钟后强制远程关机,5分钟是额外信息
typedef struct _tagOperationB
{
HEADER_INFO header; // 包头
int nDelayTime; // 附加的关机之前等待时间
BOOL bForceShutDown; // 是否强制关机
}OPERATION_B, *POPERATION_B, *LPOPERATION_B;
这时远程控制打开IE可这样操作
//控制端
BOOL SendIERequest()
{
OPERATION_A OpA;
ZeroMemory(&OpA, sizeof(OPERATION_A);
OpA.header.dwFlag = REMOTECTRL_FLAG; // 远程控制标志
OpA.header.dwsize = sizeof(OPERATION_A);
OpA.header.dwType = REMOTECTRL_IE; // 远程控制打开IE
strcpy(OpA.szURL, "www.csdn.net");
// 假设pSocket是你的通信Socket
pSocket->Send(&OpA, sizeof(OPERATION_A));
return TRUE;
}
远程控制关机可这样操作
//控制端
BOOL SendShutDownRequest()
{
OPERATION_B OpB;
ZeroMemory(&OpB, sizeof(OPERATION_B);
OpB.header.dwFlag = REMOTECTRL_FLAG; // 远程控制标志
OpB.header.dwsize = sizeof(OPERATION_B);
OpB.header.dwType = REMOTECTRL_SHUTDOWN; // 远程控制关机
OpB.nDelayTime = 3; // 3分钟后关机
OpB.bForceShutDown = TRUE;
// 假设pSocket是你的通信Socket
pSocket->Send(&OpB, sizeof(OPERATION_B));
}
被控端的操作
//处理所有发过来的控制请求,做相应处理
BOOL DealWithAllRequest(LPVOID lpBuf) // lpBuf是Socket读过来的信息
{
LPHEADER_INFO pHeader = (LPHEADER_INFO)lpBuf;
if (REMOTECTRL_FLAG == pHeader.dwFlag) // 这是远程控制包
{
switch(pHeader.dwType)
{
case REMOTECTRL_IE:
return RemoteCtrlIE(lpBuf);
case REMOTECTRL_SHUTDOWN:
return RemoteCtrlShutDown(lpBuf);
default:
return FALSE;
}
}
//其他通讯包
}
//打开IE
//被控端
BOOL RemoteCtrlIE(LPVOID lpBuf)
{
LPOPERATION_A pOpA = (LPOPERATION_A)lpBuf;
CString strURL = pOpA->szURL;
//执行打开strURL的操作
::ShellExecute(...., strURL, ...);
return TRUE;
}
//被控端
BOOL RemoteCtrlShutDown(LPVOID lpBuf)
{
LPOPERATION_B pOpB = (LPOPERATION_B)lpBuf;
int nDelayTime = pOpB->nDelayTime;
BOOL bForceShutDown = pOpb->bForceShutDown;
//执行nDelayTime后关机的操作
// ...
// ::ExitWindowsEx(...);
return TRUE;
}
gdy119
2004-11-22
打赏
举报
回复
楼主该不是说的桌面数据压缩?
lonenomad
2004-11-22
打赏
举报
回复
那怎样区分字符和命令啊。
lonenomad
2004-11-22
打赏
举报
回复
那怎样区分字符各命令啊。
PiggyXP
2004-11-22
打赏
举报
回复
其实原理还是socket通信,服务器端根据收到客户端发来的字符执行相应的代码就OK了:)
lonenomad
2004-11-22
打赏
举报
回复
kingzai()说的和我的意思相近,不知那位高人,做过这方面的软件啊。
oyljerry
2004-11-22
打赏
举报
回复
是不是指自己定义一些命令的协议,然后通信双方共同遵守
hjunxu
2004-11-22
打赏
举报
回复
我帮楼主顶一下
不过你的问题好象不怎么好回答啊,呵呵
kingzai
2004-11-22
打赏
举报
回复
你说的远程控制的传输算法,其实就是自定义的一套收发命令,也就是一个你的数据结构。比如发送'A'表示重启,发送'B'表示关机这些。另外一方收到这些命令字后再做相应的操作。
Shires
2004-11-22
打赏
举报
回复
楼主说详细点啊
Shires
2004-11-22
打赏
举报
回复
嗬嗬,不好
lonenomad
2004-11-22
打赏
举报
回复
晕啊
vicky_jam
2004-11-22
打赏
举报
回复
呵呵~~我不是高手我能不能说话:)
“远程控制的详细算法”
什么算法??
所谓的远程控制 就是一个 客户端 一个 服务端
你平时 怎么写这种软件 写马马 也差不多
你指得算法 应该是 指 比如远程“实时”控制 传输图片 时的算法啦
什么的~~ 传输文件 啊~~
你的问题 太大了~
初学者 以马马 为目标 是很好的
因为里面涉及了 许多 系统 、网络 、文件 、图形...... 的操作 ~~
一个问题都能 提一个问题~~
不过 没有一步登天 的事 所谓的算法 就是计算机的常用算法啊 好好学学~~~
呵呵~~高分我也想要 可惜没有这个本事:)
呵呵~~~~~~
friendzj
2004-11-22
打赏
举报
回复
希望高手尽快出现,呵呵!
远程控制
工具
Remote Administrator 的最新客户端,可以
远程控制
你的计 算机,你可以在本地看见远程计算机的屏幕显示,本地的鼠标、 键盘的有关反应也会传送到远程计算机。 它有以下特点: 1.运行速度快。 2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远端机器)、个性化的文件互传、 远程关机、支持
高分
辨率模式、基于Windows NT的安全支 持及密码保护以及提供日志文件支持等。 3.在安全性方面,Radmin支持Windows NT/2000用户级安全特 性,您可以将
远程控制
的权限授予特定的用户或者用户组, Radmin将以加密的模式工作,所有的数据(包括屏幕影像、 鼠标和键盘的移动)都使用128位强加密
算法
加密; 服务器端 会将所有操作写进日志文件,以便于事后查询,服务器端有 IP过滤表,对IP过滤表以外的控制请
求
将不予响应。 4.Radmin 目前支持TCP/IP协议,应用十分广泛。
radmin影子
远程控制
可以
远程控制
你的计算机,你可以在本地看见远程计算机的屏幕显示,本地的鼠标、键盘的有关反应也会传送到远程计算机。 它有以下特点: 1.运行速度快。 2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远端机器)、个性化的文件互传、远程关机、支持
高分
辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。 3.在安全性方面,Radmin支持Windows NT/2000用户级安全特性,您可以将
远程控制
的权限授予特定的用户或者用户组,Radmin将以加密的模式工作,所有的数据(包括屏幕影像、鼠标和键盘的移动)都使用128位强加密
算法
加密; 服务器端会将所有操作写进日志文件,以便于事后查询,服务器端有IP过滤表,对IP过滤表以外的控制请
求
将不予响应。 4.Radmin 目前支持TCP/IP协议,应用十分广泛。
自己动手实现netty4
1. 从0开始编写netty4,更
详细
了解netty的架构思路和编写历程2. 真正看netty源码无障碍3. 学习看源码思考方式4.帮助面试获得
高分
远程控制
软件 Radmin3.4
Radmin软件简介
远程控制
你的计算机,你可以在本地看见远程计算机的屏幕显示,本地的鼠标、键盘的有关反应也会传送到远程计算机。它有以下特点: 1.运行速度快。 2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远端机器)、个性化的文件互传、远程关机、支持
高分
辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。 3.在安全性方面,Radmin支持Windows NT/2000用户级安全特性,您可以将
远程控制
的权限授予特定的用户或者用户组,Radmin将以加密的模式工作,所有的数据(包括屏幕影像、鼠标和键盘的移动)都使用128位强加密
算法
加密; 服务器端会将所有操作写进日志文件,以便于事后查询,服务器端有IP过滤表,对IP过滤表以外的控制请
求
将不予响应。 4.Radmin 目前支持TCP/IP协议,应用十分广泛。
远程管理工具radmin22
远程控制
你的计算机,你可以在本地看见远程计算机的屏幕显 示,本地的鼠标、键盘的有关反应也会传送到远程计算机。 它有以下特点: 1.运行速度快。 2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远端机器)、个性化的文件互传、 远程关机、支持
高分
辨率模式、基于Windows NT的安全支 持及密码保护以及提供日志文件支持等。 3.在安全性方面,Radmin支持Windows NT/2000用户级安全特 性,您可以将
远程控制
的权限授予特定的用户或者用户组, Radmin将以加密的模式工作,所有的数据(包括屏幕影像、 鼠标和键盘的移动)都使用128位强加密
算法
加密; 服务器端 会将所有操作写进日志文件,以便于事后查询,服务器端有 IP过滤表,对IP过滤表以外的控制请
求
将不予响应。
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章