求一个解决方案

2017-07-13 04:33:17 +08:00
 starvedcat

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

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

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

额外说明:

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

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

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

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

请不吝指教,谢谢

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

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

以上。
ts8zs
2017-07-14 11:05:05 +08:00
@ts8zs 更正:
简单的一种:
网站服务器程序 A 直接搭建在 实验室电脑。
实验室电 脑内网穿透到 VPS,从而给 实验室电脑 的 网站服务器程序 A 提供公网 ip。
可由 网站服务器程序 A 直接调度设备,也可由 *网站服务器程序 A* 指令控制 设备控制程序 B 调度设备。
starvedcat
2017-07-14 11:13:41 +08:00
@ts8zs #9 谢谢高手,我先自行搜索一下你这里的几个关键词,几天之后如果遇到问题再问问看,多谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX