|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
majx (skin) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/8/9 22:10:13 |
标题: |
Delphi 编写的开源远程访问软件 |
浏览:4074 |
|
加入我的收藏 |
楼主: |
https://github.com/weshinsley/songbase-classic-viewer 远程查看和控制经典的Songbase Delphi应用程序。
https://github.com/senjaxus/AllaKore_Remote AllaKore Remote是用Delphi Seattle编写的开源远程访问软件。 这个来源由Maickonn Richard和Gabriel Stilben创建。 如有任何问题,请联系我:senjaxus@gmail.com
我的Github:https://www.github.com/Senjaxus 加入我们的Facebook群组:https://www.facebook.com/groups/1202680153082328/ AllaKore Remote是一个用Delphi Seattle编写的远程访问软件开源软件。 使用的所有组件都是Delphi本身的原生组件。
现在该项目与Delphi Seattle完全兼容。 在开放项目之前需要进行一些观察:
您应该安装本机DCLSockets组件。只需打开Delphi XE,单击“Component” - >“Install Packages”。现在单击“添加”,现在进入安装Delphi XE的“Bin”文件夹(例如:C:\ Program Files(x86)\ Embarcadero \ Studio \ 17.0 \ bin)并打开“dclsocketsXXX.bpl”文件。根据您的Delphi版本,XXX是数字。 该软件需要一个中央服务器,我建议将其托管在您所在国家/地区的服务器上,因此延迟较低。 与任何BETA项目一样,这会受到随时间纠正的错误的影响。我指望所有人的合作。 如果他们可以解决任何问题,只需发送将要发布的解决方案。 服务器的功能是路由所有数据流量,将每个数据包传递给正确的用户。服务器一接收就转发数据包以获得性能。 在Client项目中,该单元有两个Form_Main常量调用“Host”和“Port”。在常量“主机”中,您必须输入服务器的DNS或IP地址。在常量“端口”中,您应该输入在“服务器”的常量中选择的端口。 AllaKore Remote具有以下功能: 连接ID和密码。 使用RFB算法进行远程访问(仅发送屏幕上已更改的内容)。 数据压缩(zLib)。 共享者文件。 聊天。
----------------------------------------------
majx,QQ 613354940 |
作者: |
|
2018/8/9 22:38:03 |
2楼: |
顶。。。。。。。。。。
----------------------------------------------
一路风雨走过,因为有你们
|
作者: |
|
2018/8/9 22:46:43 |
3楼: |
留名先,方便日后查找!
----------------------------------------------
-
|
作者: |
glwang (glwang) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2018/8/10 8:40:09 |
4楼: |
不错
----------------------------------------------
|
作者: |
|
2018/8/10 9:28:55 |
5楼: |
简单使用了一下,AllaKore Remote 不显示远程电脑的实时图片,不知道是什么问题。
另外如果可以改成p2p就好了,可以省好多流量,在天朝用服务器中转得需要多大的带宽的服务器啊,而且速度也不好,p2p就爽了。
----------------------------------------------
-
|
作者: |
|
2018/8/10 9:57:40 |
6楼: |
是指远程桌面?
----------------------------------------------
-
|
作者: |
|
2018/8/10 11:30:51 |
8楼: |
学习了
----------------------------------------------
-
|
作者: |
|
2018/8/10 23:17:10 |
9楼: |
呵呵谢谢
----------------------------------------------
-
|
作者: |
|
2018/8/11 12:39:55 |
10楼: |
看不到远程桌面,怎么破?
----------------------------------------------
-
|
作者: |
majx (skin) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/8/11 14:17:50 |
11楼: |
欢迎大家到Github上与原作者交流。互相促进学习。
----------------------------------------------
majx,QQ 613354940
|
作者: |
|
2018/8/11 15:40:54 |
12楼: |
这个我记得有indy版本的,ics版本,自带socket版本的,还有。。。好几个版本,以前收集过
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
|
作者: |
|
2018/8/11 15:46:41 |
12楼: |
还有这么实用的项目开源,赞一个。
----------------------------------------------
-
|
作者: |
szlbz (秋风) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2018/8/11 22:04:27 |
13楼: |
看不到远程桌面
----------------------------------------------
-
|
作者: |
|
2018/8/12 2:16:15 |
14楼: |
标记!!!!!!
----------------------------------------------
-
|
作者: |
majx (skin) |
★☆☆☆☆ |
-
|
普通会员 |
|
2018/8/12 15:16:07 |
15楼: |
谁能公开一个p2p版本的呢?
----------------------------------------------
majx,QQ 613354940
|
作者: |
|
2018/8/13 9:43:43 |
16楼: |
有人可以显示远程桌面吗
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/8/13 11:30:00 |
18楼: |
不能显示桌面
----------------------------------------------
-
|
作者: |
|
2018/8/13 13:14:58 |
19楼: |
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
该账号是个傻逼
|
作者: |
|
2018/8/13 17:10:14 |
20楼: |
marK~~
----------------------------------------------
-
|
作者: |
|
2018/9/4 8:03:05 |
21楼: |
@lordaeron 不要光吐槽,说说你的更优方案。
----------------------------------------------
-
|
作者: |
|
2018/9/4 9:05:07 |
22楼: |
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
该账号是个傻逼
|
作者: |
|
2018/9/5 15:17:44 |
24楼: |
…… 被禁用帐号,帖子内容自动屏蔽! ……
----------------------------------------------
该账号是个傻逼
|
作者: |
|
2018/9/26 19:02:10 |
25楼: |
由于运行后看不到远程界面,所以看了下原理,主要是发送截图时如何判断变化,AllaKore_Remote的原理是:首先截一张完整的屏幕图像并转成流A发送给控制端(控制端收到后保存为A1),然后线程里不停止的截图,每截图一张后转成流B,创建大小和A、B一样的流C,然后PByteA和PByteB指针遍历流A和B的每一个字节,如果PByteA和PByteB值相同则在C的同样位置PByteC^ := 0,否则PBybteC := PByteB^,这样就把不同值记录了下来,完成后,将C发送到控制端,控制端将字节不为0的更新到A1再显示到bitmap上。
搞明白原理后自己移植成DIOCP的了,目前存在的问题 1.远程桌面显示失真,AllaKore_Remote应该也有此问题(因为没有运行后看到过界面),原因如上所述 2.win7控制xp按键有时候无效,xp控制win7正常,可能是api不同造成? 3.鼠标按下并弹起,受控端只收到按下,收不到弹起,可能太快了发送没有响应? 4.AllaKore_Remote的聊天和发送文件功能没有移植。 打算从头做一个通用的通讯聊天工具,所以暂时不打算处理以上问题,如果你解决了可以回馈给我。
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/9/26 19:03:28 |
26楼: |
忘记说了,开发环境10.2.3
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/9/26 20:20:19 |
27楼: |
to abcjingtong (jingtong) 测试了你的,可以用,不过我测试好像发现颜色不对劲,有的时候变红了,不知道是 什么原因。
另外就是鼠标操作延时很大,实时图片延时到还好,鼠标操作居然比图片延时大很多。
----------------------------------------------
-
|
作者: |
|
2018/9/26 20:21:17 |
28楼: |
图片
此帖子包含附件:
大小:67.9K |
----------------------------------------------
-
|
作者: |
|
2018/9/26 20:30:49 |
29楼: |
颜色不对,见问题1的解释,关于延时,AllaKore_Remote使用了4个TcpClient,我用了一个,如果你有兴,可以将鼠标操作,键盘操作,桌面图像都分别用不同的TcpClient 另外,最好不要本机测试,否则鼠标乱跳。
----------------------------------------------
18114532@qq.com
|
作者: |
|
2018/9/26 20:37:05 |
30楼: |
关于颜色不对
由于运行后看不到AllaKore_Remote远程界面,所以看了下原理,主要是发送截图时如何判断变化,AllaKore_Remote的原理是:首先截一张完整的屏幕图像并转成流A发送给控制端(控制端收到后保存为A1),然后线程里不停止的截图,每截图一张后转成流B,创建大小和A、B一样的流C,然后PByteA和PByteB指针遍历流A和B的每一个字节,如果PByteA和PByteB值相同则在C的同样位置PByteC^ := 0,否则PBybteC := PByteB^,这样就把不同值记录了下来,完成后,将C发送到控制端,控制端将字节不为0的更新到A1再显示到bitmap上。
造成颜色不正确的原因可能是:字节不为0的并不一定是没有发生变化,而可能是由大于0的值变为了0,上面的原理把只有不为0的才更新,所以造成了颜色的问题。
----------------------------------------------
18114532@qq.com
|
|