我有一个WinForm VB应用程序,它将RGB颜色输出到显示器,同时通过USB连接的色度计收集测量结果。效果很好。但我想将相同的RGB颜色输出到Web浏览器。我的应用程序的目标是从显示屏上收集超过200个测量值。到目前为止,我对如何做到这一点的研究还没有发现任何结论。我不需要上传文件只是一些RGB三元组,服务器显示在屏幕中央。无需提前按钮或交互,一切都应该由我的应用程序控制。一种选择是使用我有权访问的IIS Web服务器的资源。我遇到的问题是我很难概念化我需要与Chrome,Firefox,Safari,Edge或IE建立的通信类型,以便逐个显示200种颜色,而我的乐器,在笔记本电脑上运行,一次需要2到3秒的读数?我希望我可以坐在任何一台计算机上,在我想要测量颜色的客户端计算机上启动浏览器,让它指向我在互联网上的网络服务器,更换座位,在我的笔记本电脑上启动我的VB.net应用程序并开始测量:我的VB.net代码与IIS服务器通信,不知何故,(ASP.net?)页面一个接一个地更新,没什么花哨的,只是一个充满了一些RGB颜色组合的简单方块。而已。这有可能吗?我如何接近这样的野兽?
答案 0 :(得分:0)
网站对于这类事情并不是很好。它们主要用于响应浏览器对页面的请求;将数据推送到页面需要一些高级技术(例如使用类似SignalR的内容)。
将数据推送到页面的替代方法是以预设间隔将页面编程为轮询服务器。如果这对你的目的来说足够好,这里有一步一步说明:
将显示数据的VB应用程序更改为通过API提供数据的DLL。
在Visual Studio中创建一个空的Web项目
添加对VB DLL的引用
编写一个使用API获取当前RBG值并将其放在页面上的简单页面。
在简单页面中添加meta-refresh标记,使浏览器每隔一秒左右重新请求一次页面。