我们开发了一套监控系统,客户端界面上以图形的方式实时反映设备的测量量以及实时曲线。但是客户要求我们把这种显示以WEB的方式体现,请大家提供一下这种方案的框架思路。
现在我们是做了一个ActiveX来实现,然后把这个ActiveX嵌入到WEB页面。但是我们不想这样做,因为这是个伪web程序,我们想实现真正的B/S的实时图形显示。 前一段时间在我在c#区提问此问题,好心的网友们这样回答:
------------------------------
回复人:phoenix0619() :在服务器端实时绘制,在客户端采用AJAX技术异步实时刷新。 回复人:mamihong(玛弥鸿) :ajax技术可以办到
------------------------------于是这两天我阅读了《Ajax基础教程》,发现用Ajax技术的确可以做到我需要的快速实时刷新。但是,我发现Ajax技术中的数据交互是以Xml文本方式实现的,那我如何把服务器端的图形二进制数据流发送到客户端呢?服务器端是.NET的程序,定时收到客户端XmlHttpRequest的绘制要求, 实时绘制了一个bitmap,那么我如何把这个bitmap 返回(Response)给客户端呢?
现在我们是做了一个ActiveX来实现,然后把这个ActiveX嵌入到WEB页面。但是我们不想这样做,因为这是个伪web程序,我们想实现真正的B/S的实时图形显示。 前一段时间在我在c#区提问此问题,好心的网友们这样回答:
------------------------------
回复人:phoenix0619() :在服务器端实时绘制,在客户端采用AJAX技术异步实时刷新。 回复人:mamihong(玛弥鸿) :ajax技术可以办到
------------------------------于是这两天我阅读了《Ajax基础教程》,发现用Ajax技术的确可以做到我需要的快速实时刷新。但是,我发现Ajax技术中的数据交互是以Xml文本方式实现的,那我如何把服务器端的图形二进制数据流发送到客户端呢?服务器端是.NET的程序,定时收到客户端XmlHttpRequest的绘制要求, 实时绘制了一个bitmap,那么我如何把这个bitmap 返回(Response)给客户端呢?
所以只有变通,用动态改变图片src来代替
图形可以用GDI+。
-------------
以上放在一个单独的.aspx中。使用ajax页面根据以上要求更改请求地址即可。
context.Response.ContentType = "image/jpg";
System.Drawing.Bitmap bmp ......
....客户端:
...
客户端动态更改img标签的src
只想到这样在客户端动态生成图片我没搞过,如果可以的话也可以用AJAX动态获取数据,客户端根据数据动态生成图片