V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FelixLiu
V2EX  ›  程序员

想做一个远程控制的小软件,想询问一下技术路线?

  •  
  •   FelixLiu · 2019-06-14 09:07:32 +08:00 · 2179 次点击
    这是一个创建于 1749 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我目前想到的需求就是:
    1.c++(本人会点)
    2.server 负责中控,client 远程控制 client 的数据都要从 server 走; client 之间不直接通信。

    目前想到的问题:
    1.client 与服务器之间通信采用 RPC ; client 与 client 之间通信通过服务器中转,也用 RPC ;用哪个框架比较好?
    2.client 与 client 之间数据传输,要打通 client 与服务器之间的数据传输,有没有这种类似的成熟解决方案?
    3.数据传输安全,在上面的数据传输通道采用 TLS 加密?
    4.数据在服务器中转,这个延迟有什么方案能降低,达到一个不错的效果?
    5.远程控制采用 RDP 协议,只在 windows 上使用,不需要什么额外功能,只需要能键鼠控制就可以,能精简吗?

    虹猫蓝兔三千问=v=,希望大家发表一下自己的见解,给指个路,谢谢 QAQ
    第 1 条附言  ·  2019-06-14 10:01:58 +08:00
    1.测试准备就在现在的机器上开个 windows 虚拟机,内网穿透 frp 暂时不做考虑,因为不是做企业应用,只是做个简单的小玩意,主要是想看看有什么坑,怎么填,各位前辈给点意见。
    2.主要想用 RDP 协议,VNC 的话,现在还没考虑是否去研究它。现在有在看陈硕的 moduo,也在看网络通信和 TLS 加密这一块,想打通一个数据传输通道感觉坑好多啊,有什么好的建议和现有好的解决方法吗?
    9 条回复    2019-06-14 19:45:25 +08:00
    wuzhizhan
        1
    wuzhizhan  
       2019-06-14 09:11:49 +08:00
    请看 vnc 源码。再加上 frp 内网穿透。
    代码合并到一块就解决了。
    liuky
        2
    liuky  
       2019-06-14 09:44:14 +08:00
    我刚好也在弄一个这个功能, 还在弄哈哈, teamview 不能用了, 准备自己写一个
    xenme
        3
    xenme  
       2019-06-14 09:47:34 +08:00
    你的目的是啥?

    比较复杂的话,还是内网穿透然后直接 RDP 最方便。
    功能简单的话,得看你目的,尽量简化。别搞这么复杂
    FelixLiu
        4
    FelixLiu  
    OP
       2019-06-14 09:47:41 +08:00
    @wuzhizhan 主要是想自己搞一个简易版,学习用,如果上 vnc 的话,GitHub 上就有现成的 QAQ
    FelixLiu
        5
    FelixLiu  
    OP
       2019-06-14 09:48:07 +08:00
    @liuky 同道中人,哈哈哈
    FelixLiu
        6
    FelixLiu  
    OP
       2019-06-14 09:49:33 +08:00
    @xenme 现在不考虑内网穿透啥的,就是学习鼓捣东西,主要关注的是这个架构,技术路线,还有坑。。。。
    xenme
        7
    xenme  
       2019-06-14 09:55:01 +08:00
    @FelixLiu 为了应对穿透问题,基本都是有中心架构,特殊情况可以通过直连优化最终的连接,包括 teamviewer 或者 gotomypc 都是一样。

    最终的效果就看协议和路由的优化。自己用真没啥折腾的
    exch4nge
        8
    exch4nge  
       2019-06-14 11:49:40 +08:00
    1、只考虑 windows 平台的话,可以试试 Windows RPC ;想用开源有名的话,gRPC、thirft 之类的
    2、自己动手转发;或者看看 webrtc 的 TURN ?
    3、一般 rpc 框架都带 TLS
    4、没想到什么好方案……
    5、不知道
    qfdk
        9
    qfdk  
       2019-06-14 19:45:25 +08:00 via iPhone
    歪楼一下, 客户端 服务端 然后弄个注册中心就好了 eureka 可以的 哈哈哈 spring cloud 全家桶 Java 跑起来 随你玩儿, 内外穿透 改成上线
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3136 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:37 · PVG 20:37 · LAX 05:37 · JFK 08:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.