背景:实验室的电脑通过并口线控制着某实验设备
目的:让学生只要在网页上进行操作,就能控制该实验设备(可以理解为,在实验室电脑上运行某 exe )。由于可能存在多个学生同时进行操作的情况,这里的“控制”是异步的,即:学生通过网页,给实验室的电脑“指派”一个任务,但具体何时执行由实验室电脑上的程序自行控制调度
可以利用的资源:一台连接到互联网的实验室电脑、一台 VPS。均为 Windows 系统
额外说明:
对于学生来说,只需要使用浏览器在 web 上进行操作即可完成上述任务,因此不考虑 Windows 远程连接、putty 等方案;
由于 1,所有编程、部署方面的事情只能在服务器端或者实验室端完成,服务器端和实验室端可以运行任意程序,并且这两台电脑不作别的用途;
目前我非常 naive 的想法是:每当有学生在网页上进行操作,我就改变一个只有我自己知道 URL 的网页的内容。同时,让实验室电脑 24 小时、间隔 10 秒钟无限访问该 URL。当这个页面上的内容会发生变化,实验室电脑就能知道该干什么了。
其实说白了就是:两台电脑之间的相互通信问题
请不吝指教,谢谢
1
binux 2017-07-13 04:41:30 +08:00
抽象一下就是学生在一个动态网页上操作,然后你另外提供一个 API 给实验室电脑读取超过结果。没毛病啊。
|
2
starvedcat OP @binux #1 是的,但是这个 24 小时轮询给人感觉很蠢,有没有高雅一点的方法?
|
3
Trim21 2017-07-13 07:13:42 +08:00 1
@starvedcat 在实验室的电脑上再开一个服务器,vps 去请求实验室端的服务器
|
4
starvedcat OP @Trim21 #3 哈哈哈哈那这台 vps 要如何发送数据给实验室的电脑呢?
|
5
unavph 2017-07-13 08:57:33 +08:00 via iPhone
用内网穿透,服务器直接搭在实验室电脑上就行了
|
6
oott123 2017-07-13 09:21:12 +08:00 via Android
消息队列
|
7
Trim21 2017-07-13 09:41:09 +08:00
@starvedcat 没想到没有公网 ip 了.............
|
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 调度设备。 以上。 |
9
ts8zs 2017-07-14 11:05:05 +08:00
@ts8zs 更正:
简单的一种: 网站服务器程序 A 直接搭建在 实验室电脑。 实验室电 脑内网穿透到 VPS,从而给 实验室电脑 的 网站服务器程序 A 提供公网 ip。 可由 网站服务器程序 A 直接调度设备,也可由 *网站服务器程序 A* 指令控制 设备控制程序 B 调度设备。 |
10
starvedcat OP @ts8zs #9 谢谢高手,我先自行搜索一下你这里的几个关键词,几天之后如果遇到问题再问问看,多谢!
|