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

求一个解决方案

  •  
  •   starvedcat · 2017-07-13 04:33:17 +08:00 · 1403 次点击
    这是一个创建于 2720 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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