### flash 中通过 XMLSocket 监控生产系统(1)

可是 B/S 体系结构也不是万能的，由于其工作机制的限制，在某些领域，以前采用 B/S 体系结构就很难实现要求功能。典型情况下, Web 页面和大多数 Web 应用使用了一种称为请求/响应的工作机制：
o 使用者点击一个超级链接，或是提交一个表单等。
o 浏览器向服务器发送请求。
o 服务器启动一个会话。
o 服务器经过处理后，把数据发送给浏览器。
o 服务器关闭会话，浏览器显示数据。
我们可以看出，使用 B/S 体系结构设计软件时，无法回避两个限制：被动性与滞后性。首先，使用者必须通过浏览器请求，服务端才能进行响应，在某些领域，如及时监控中， 需要服务端在特定情况下，主动发送数据给客户端，而使用传统 B/S 体系结构技术，实现该目的就很困难。其次，服务端每次请求都必须启动一个会话，加上服务端处理与网络传送所消耗的时间，这自然就形成了客户端的滞后性。
也许有些读者，会提出异议，聊天室就是采用 B/S 体系结构的，为什么服务端能够每几秒钟，就把聊天室里各人的发言发送过来呢？其实，聊天室还是采用 B/S 体系结构的请求/响应机制，只不过客户端每过几秒就发送一次请求而已，好奇的读者可以看一下聊天室网页的源码，可以在源码的头部找到这样一条语句：
它的作用就是每 2 秒钟发送一次请求。
在设计软件时，往往要对工业生产系统进行及时监控，随时了解生产系统的运行情况，可是在以前，如果采用 Web 方式就很难保证及时性，同时，每几秒就给服务端发送请求，既浪费网络资源，又给系统带来额外负担。如果硬要采用 B/S 体系结构，当然也有方法，采用 Applet，由于 Java 安全的限制，必须对每台客户端进行安全配置，可这样与 C/S 体系结构又有什么不同了呢，已经丧失了 B/S 体系结构的“瘦客户”的优点。
可自从 Flash 5 发布后，其中的 XML 与 XMLSocket 技术很好地解决了 B/S 体系结构被动性与滞后性的限制，同时没有了 Java 的安全限制,新的 Flash MX 中对此又有了很大的增强。本文就将介绍利用 XML 与 XMLSocket 技术对生产系统进行及时监控，同时为了测试方便，介绍了一个模拟服务端的程序。（本文所有介绍，都将依据 Falsh 的最新版本 Flash MX。）