V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
starvedcat
V2EX  ›  问与答

求一个解决方案

  •  
  •   starvedcat · 2017 年 7 月 13 日 · 1782 次点击
    这是一个创建于 3112 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:实验室的电脑通过并口线控制着某实验设备

    目的:让学生只要在网页上进行操作,就能控制该实验设备(可以理解为,在实验室电脑上运行某 exe )。由于可能存在多个学生同时进行操作的情况,这里的“控制”是异步的,即:学生通过网页,给实验室的电脑“指派”一个任务,但具体何时执行由实验室电脑上的程序自行控制调度

    可以利用的资源:一台连接到互联网的实验室电脑、一台 VPS。均为 Windows 系统

    额外说明:

    1. 对于学生来说,只需要使用浏览器在 web 上进行操作即可完成上述任务,因此不考虑 Windows 远程连接、putty 等方案;

    2. 由于 1,所有编程、部署方面的事情只能在服务器端或者实验室端完成,服务器端和实验室端可以运行任意程序,并且这两台电脑不作别的用途;

    目前我非常 naive 的想法是:每当有学生在网页上进行操作,我就改变一个只有我自己知道 URL 的网页的内容。同时,让实验室电脑 24 小时、间隔 10 秒钟无限访问该 URL。当这个页面上的内容会发生变化,实验室电脑就能知道该干什么了。

    其实说白了就是:两台电脑之间的相互通信问题

    请不吝指教,谢谢

    10 条回复    2017-07-14 11:13:41 +08:00
    binux
        1
    binux  
       2017 年 7 月 13 日
    抽象一下就是学生在一个动态网页上操作,然后你另外提供一个 API 给实验室电脑读取超过结果。没毛病啊。
    starvedcat
        2
    starvedcat  
    OP
       2017 年 7 月 13 日
    @binux #1 是的,但是这个 24 小时轮询给人感觉很蠢,有没有高雅一点的方法?
    Trim21
        3
    Trim21  
       2017 年 7 月 13 日   ❤️ 1
    @starvedcat 在实验室的电脑上再开一个服务器,vps 去请求实验室端的服务器
    starvedcat
        4
    starvedcat  
    OP
       2017 年 7 月 13 日
    @Trim21 #3 哈哈哈哈那这台 vps 要如何发送数据给实验室的电脑呢?
    unavph
        5
    unavph  
       2017 年 7 月 13 日 via iPhone
    用内网穿透,服务器直接搭在实验室电脑上就行了
    oott123
        6
    oott123  
       2017 年 7 月 13 日 via Android
    消息队列
    Trim21
        7
    Trim21  
       2017 年 7 月 13 日
    @starvedcat 没想到没有公网 ip 了.............
    ts8zs
        8
    ts8zs  
       2017 年 7 月 14 日   ❤️ 1
    简单的一种:
    网站服务器程序 A 直接搭建在 实验室电脑。
    实验室电 脑内网穿透到 VPS,从而给 实验室电脑 的 网站服务器程序 A 提供公网 ip。
    可由 网站服务器程序 A 直接调度设备,也可由 长连接被控端程序 C2 指令控制 设备控制程序 B 调度设备。

    另外一种比较麻烦的:
    网站服务器程序 A 搭建在 VPS。
    网站服务器程序 A 控制 VPS 上 长连接控制程序 C1。
    VPS 通过长连接控制端程序 C1 连接 实验室电脑 上的 长连接被控端程序 C2。
    可由 长连接被控端程序 C2 直接调度设备,也可由 长连接被控端程序 C2 指令控制 设备控制程序 B 调度设备。

    以上。
    ts8zs
        9
    ts8zs  
       2017 年 7 月 14 日
    @ts8zs 更正:
    简单的一种:
    网站服务器程序 A 直接搭建在 实验室电脑。
    实验室电 脑内网穿透到 VPS,从而给 实验室电脑 的 网站服务器程序 A 提供公网 ip。
    可由 网站服务器程序 A 直接调度设备,也可由 *网站服务器程序 A* 指令控制 设备控制程序 B 调度设备。
    starvedcat
        10
    starvedcat  
    OP
       2017 年 7 月 14 日
    @ts8zs #9 谢谢高手,我先自行搜索一下你这里的几个关键词,几天之后如果遇到问题再问问看,多谢!
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 23:01 · PVG 07:01 · LAX 15:01 · JFK 18:01
    ♥ Do have faith in what you're doing.