我想构建某种接口来监控我们的实时路由/交换系统。我想提供大量的视觉反馈,以便能够直观地监控其状态。我们的系统和客户端不在同一地点,因此需要通过TCP / IP进行连接。
我希望能够为任意数量的监控客户端提供服务(尽管这可能只有4-6个客户端)。我想过使用SilverLight,但似乎有一两个技巧涉及让SilverLight连接回运行在不同端口上的应用程序。
我还想过使用HTML5画布和websockets。另一种方法是使用普通的Window Forms和WPF来创建客户端。但这意味着要监控应用程序,客户端必须先下载。我更喜欢像网络应用程序一样容易访问的东西吗?
有哪些更常见的应用程序堆栈可以实现这一目标?我应该注意什么?
编辑:
添加:这只是一个内部工具。但我们在几个地方都设有办事处。
答案 0 :(得分:2)
“实时”和浏览器困扰着我。 我确实会去WPF或WinForms。使用ClickOnce-Deployment,您可以使用户无痛苦,只需重新部署并让用户重新启动应用程序即可推出新版本。 在我的公司,这个工作非常好,我们没有任何问题。唯一的问题是,app.config有点难以找到并保持当前/有效(重新部署)但在你的情况下,这不会改变每个客户端(或者我猜)。
答案 1 :(得分:2)
在这个方向上的任何选择都可能是主观的和有争议的,当然有人可以建议任何可能的网络框架或语言......
我会考虑,但是因为你的.NET和C#标签,ASP.NET MVC 3,所以基本上是基于web的无插件(NO Silverlight)HTML 5解决方案。
考虑到StackOverflow以相同的方式完成(MVC,ASP.NET,SQL Server ......)并且表现得比众所周知。
你从TCP中获取底层事件的方式,所以你从TCP中捕获和提供数据的方式,这是前端的另一件事,如果流量如此之高,你可能会写一个Windows服务,你想要无论是否有任何活动的客户端连接,都可以抓取并存储数据。
对于MVC,MS Chart Control,还有很多实时图表控件。 DevExpress,ExtJS集成的......
答案 2 :(得分:0)
如果您从头开始,最好查看WCF (Windows Communication Foundation)。这很好,因为它可以公开你的功能in many ways,只需修改一个配置文件。
如果您需要Windows客户端应用程序,可以在Windows服务中托管它,或者只是将其作为侧面程序集包含。对于Web应用程序,您可以选择各种格式(JSON,XML),通道(HTTP,TCP)和协议(SOAP,ODP)。
如果我做对了,将会有一个服务器端应用程序,它将从设备收集信息并将其作为服务公开给客户端。在这种情况下,WCF应用程序可能托管在服务器计算机上的Windows服务或IIS中,并通过一个或多个端点(HTTP,TCP)公开数据。
我不知道将SilverLight应用程序连接到服务时出现问题,但我宁愿选择HTML5 / JavaScript组合,以便更轻松地部署和兼容更广泛的设备(无需插件)。 ASP.NET MVC应该是Web应用程序的最佳选择。
答案 3 :(得分:0)
我同意@Davide - 我会选择一个能够实时获取所有路由/交换数据的WebService。您将拥有一个Web应用程序,在客户端,您将获得JQuery / AJAX从WebService组件中获取实时数据。
答案 4 :(得分:0)
我见过Web Orb的酷炫演示,做了类似你想要的事情。 http://www.themidnightcoders.com/