flash中通过xmlsocket监控生产系统(2-2)

  • 作者:未知 来源:未知 添加时间:2006年7月3日 字体:

  • 二、技术介绍

    2、xmlsocket 对象


      实现了客户端socket(套接字),允许包含flash应用的浏览器与服务端建立socket连接,之后flash应用与服务端就可以相互发送xml数据,而且在一个socket连接建立之后,在该连接上传送的数据量是没有限制的,直到socket连接关闭。

    使用xmlsocket 对象时,必须要注意两点:

    o 在socket连接上发送的xml数据,每条数据以一个0字节隔开,详见下面服务端的建立。
    o flash 应用所连接的主机必须是与相应web服务器在同一ip地址或是同一子域。所谓同一子域是指在同一域名空间中,例如包含flash应用的网页是从mail.real-ok.com下载的,则name.mail.real-ok.com就是子域,就允许建立连接,而real-ok.com不是子域,flash的安全规则就不允许建立连接。

    使用xmlsocket 对象的流程为:

    1) 建立一个xmlsocket 对象

    mysocket = new xmlsocket();

    2) 对生成的xmlsocket 对象进行设置

    mysocket.onconnect = myonconnect;
    mysocket.ondata = myondata;
    mysocket.onxml = myonxml;
    mysocket.onclose = myonclose;


      以上四条语句,分别设置了mysocket的四个事件处理函数,其中,myonconnect、myondata、myonxml分别是带有一个参数的函数,myonclose不带参数,当发生相应的事件时,就调用相应的处理函数。

    3) 使用xmlsocket 对象的connect方法,建立与服务端的连接mysocket.connect(null, 6666);

      其中,connect方法有两个参数,第一个参数表示要连接的主机,可以是全限定的域名和者ip地址,需要注意一点:当使用ip地址时,如 127.0.0.1 需要把它当作字符串来处理,即要用引号把ip地址括起来。如果为null,则连接web服务器(从该web服务器下载了包含当前flash应用的网页)所在的ip地址。

      第二个参数表示要连接的端口,由于低于1024的端口被通用程序所占,flash的安全规则不允许在低于1024的端口建立连接。connect方法返回布尔型变量true或false,表示连接是否成功。如:

    if (!mysocket.connect(null, 2000)) {
    mytextfield.text = “连接失败!”;
    }


      以上语句中,如果连接失败,connect方法返回flase,则把mytextfield(为一非静态文字textfield对象的实例)的内容设为“连接失败!”。

      xmlsocket对象与服务端进行连接将触发onconnect事件,则相应的事件处理函数(见上面流程步骤2中的设置)myonconnect,其中的参数与connect方法的返回值意义相同,详见下面的客户端实例。

  • 上一篇:flash中通过xmlsocket监控生产系统(2-3)
  • 下一篇:flash中通过xmlsocket监控生产系统(2-1)
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk