web与winform程序通讯

海佑此亭古 2016-07-11 08:53:56
有个系统集成项目,包括了c/s和b/s结构。一个区域里有几台设备测地下水水位,设备作为客户端用gprs定时上传数据,最终是通过tcp/ip传输的。

C#编写的服务器软件接收这些设备上传数据,做些计算处理后保存sqlserver。用asp.net写的web网站,从数据库读数据查看。

服务器软件、web以及数据库在同一台服务器上。

有个问题:web上有查看实时数据的要求,就是web客户端向服务器发送请求,然后再通过一种方式通知服务器软件发送查询命令来查询实时值,收到的数据还要显示到web上。能想到比较笨的方法是通过数据库标志位置位,说明有查询命令。这样需要不断扫描数据库,不是一个很好的实现方式。

不知这样描述问题是否说清楚了

请问类似这样的web客户端请求和winform程序通讯有什么办法吗
...全文
580 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑娃 2016-07-15
  • 打赏
  • 举报
回复
我以前也做了一个类似的项目,为此伤过一段脑筋,特别是对web不熟悉。我也想过用cs+bs来做,也就是除了一个web服务器外在运行一个cs的server程序,但是当浏览器想要和client实时交互是,web和server就不好连起来了,肯定不能用数据库来做中间人。 后来我把cs的server融合到web服务端里面去了,就是web里用一个全局的对象来监听socket,web服务器每次启动都会运行。但是这样有个问题,web服务器一段时间没有人访问的话就会关闭(可能我用词不准确,反正就是会导致监听的socket关闭的意思),我的办法是在web服务器关闭的时候再发起一个httprequeset,模拟一个网页访问,这样web server就又开始了。 因为我的client是有人值守的设备,不需要定时向server发送数据,但你的client要定时发送给serve数据的话,可能需要检查连接,做好自动重连。
assky124 2016-07-15
  • 打赏
  • 举报
回复
CS 程序 挂个小型的网站 然后网页用jsonp跨域访问本地网站就行了
wangyongchao880622 2016-07-15
  • 打赏
  • 举报
回复
你可以写一个ocx控件吧,然后调用。。。或者wcf
海佑此亭古 2016-07-12
  • 打赏
  • 举报
回复
web去通知winform程序,然后winform程序获得数据后再传给web,可以用websocket?
Poopaye 2016-07-11
  • 打赏
  • 举报
回复
海佑此亭古 2016-07-11
  • 打赏
  • 举报
回复
数据库方式是个想法,是不想用这个来实现这个功能。我查过websocket,是js在客户端实现的吗,没用过麻烦多指教一下,谢谢
  • 打赏
  • 举报
回复
如今浏览器都支持 html5 的 websocket了,网页跟服务器具有 tcp 双向通讯能力。例如微信,你向任何用户发消息,微信有7亿用户,人家也能瞬间将消息从服务器推送到微信客户端。websocket 编程很简单,而且可以做到双向通讯,可以实时得到任何消息。 这个过程,与数据库无关。你应该先抛开数据库,就知道如何设计了。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧