当前位置:编程学习 > C#/ASP.NET >>

Web和App通信

一台PC,Windows平台
有一个VC6开发的通信服务器(App),通过串口和多个下位机通信
还有一个ASP.NET开发网站(Web),用来显示和操作

怎样实现App和Web通信
比如:
网页上单击【重启】按钮,通知通信服务器,再控制下位机   (Web -> App)
下位机有信息传递到通信服务器,再通知网页刷新  (App -> Web)

最好有简单的示例代码,谢谢 --------------------编程问答-------------------- Web和App在一个主机上
protected void btnReset_Click(object sender, EventArgs e)
        {
            string path = @"app.exe";
            System.Diagnostics.Process.Start(Server.MapPath(path));
        } --------------------编程问答-------------------- 这个问题我很感兴趣,不过我不会。。。
不过这个貌似用Socket可以实现 --------------------编程问答-------------------- 如果APP也是.NET的,可以考虑webservice。
我是对VC处于仰望的人,期待楼下答案。 --------------------编程问答-------------------- active吧。只有web肯定是做不了的。 --------------------编程问答-------------------- 这样的搞winform比较好一些。 --------------------编程问答-------------------- 先不用考虑web或者其它什么客户端,上位机作为服务器有没有对这类控制客户端的接口?如果有,那么asp.net程序就可以使用。你给出通讯协议设计架构来,才能说进一步的打算。

换句话说,开发上位机的人是你吗?那么你就应该有能力开发Remoting、TCP、HTTP、Web Service、WCF、MSMQ等等任意一种你所懂得的接口功能。如果不是你,首要还是考虑先找做过的人设计一下吧。其实可能几天就搞定了。

对于一般asp.net应用程序,特别是在浏览器客户端的众多页面,无法获得上位机回调。因此通常最先想到的是使用Ajax方式轮询查询上位机信息(这仍然依赖于上位机通讯协议架构设计)。当然实际上是浏览器端通过Ajax调用web服务器上的功能,web服务器上的功能调用上位机的接口,然后返回信息给Ajax响应。如果你觉得ajax每隔1、2秒钟轮询还不够及时并且大多数次轮询时都没有取得新的信息有些浪费你的精力,并且此网络中点数比较少,可以考虑ajax以http长连接的方式,此时web服务器会循环地轮询上位机多次,直到取得变化的信息才返回。 --------------------编程问答-------------------- 其实说了这么多,我对这么简单的程序却提不出深入一点的问题,并不抱太大希望。 --------------------编程问答-------------------- 不会,帮顶,楼上的高手 --------------------编程问答-------------------- Remoting --------------------编程问答-------------------- 顶 高手!帮顶!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- WEB程序    (SOAP OR WEBSERVICE)<=== PC程序 ===>(SOCKET) PDA --------------------编程问答-------------------- 主要是接口
通讯可使用web services.WCF等 --------------------编程问答-------------------- 接口搞清楚再搞清楚使用什么通信协议,这个问题不难。

路由器应该用过吧,路由器的控制界面就是页面形式的。

路由器的页面是在不停的刷新来得知路由器的运行状态的。楼主可以适当参考下。 --------------------编程问答-------------------- sp1234 标准答案 --------------------编程问答--------------------
引用 6 楼 sp1234 的回复:
先不用考虑web或者其它什么客户端,上位机作为服务器有没有对这类控制客户端的接口?如果有,那么asp.net程序就可以使用。你给出通讯协议设计架构来,才能说进一步的打算。

换句话说,开发上位机的人是你吗?那么你就应该有能力开发Remoting、TCP、HTTP、Web Service、WCF、MSMQ等等任意一种你所懂得的接口功能。如果不是你,首要还是考虑先找做过的人设计一下吧。其实可能几天就搞定了。

对于一般asp.net应用程序,特别是在浏览器客户端的众多页面,无法获得上位机回调。因此通常最先想到的是使用Ajax方式轮询查询上位机信息(这仍然依赖于上位机通讯协议架构设计)。当然实际上是浏览器端通过Ajax调用web服务器上的功能,web服务器上的功能调用上位机的接口,然后返回信息给Ajax响应。如果你觉得ajax每隔1、2秒钟轮询还不够及时并且大多数次轮询时都没有取得新的信息有些浪费你的精力,并且此网络中点数比较少,可以考虑ajax以http长连接的方式,此时web服务器会循环地轮询上位机多次,直到取得变化的信息才返回。


很难理解,VC6开发的程序如何能与.NET Remoting结合起来呢?
再说回来,虽然在通常情况下ASP.NET调用Remoting应该没有什么问题,但是由于ASP.NET的线程池管理机制,当ASP.NET调用Remoting的时候往往会发生一些你预想不到的问题。再则,Remoting已经是过时的技术了,Microsoft也不推荐在新开发的应用中使用remoting:http://msdn.microsoft.com/en-us/library/5dwytyss(VS.85).aspx

由于楼主的App已经用VC6开发好了,那么我还是建议在App上面新增一些COM接口,把原先的App变成一个DCOM程序,这样ASP.NET就能很方便地调用到COM接口了。目前看来只有这种方法对源代码的修改是最少的。而不是把App推倒重来,使用什么所谓的web service之类的方法。

不吝赐教 --------------------编程问答-------------------- 友情_________________________________Up --------------------编程问答-------------------- 哇!这个问题的难度相当大呀!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,