zoukankan      html  css  js  c++  java
  • [ActionScript 3.0] NetConnection建立客户端与服务器的双向连接

    一个客户端与服务器之间的接口测试的工具

    <?xml version="1.0" encoding="utf-8"?>
    <!--- - - - - - - - - - - - - - - - - - - - - - - - -
    * @author:Frost.Yen
    * @E-mail:871979853@qq.com
    * @create:2016-7-13上午12:10:20
    - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"  minWidth="955" minHeight="600" width="800" height="600" applicationComplete="application1_applicationCompleteHandler(event)">
        <fx:Script>
            <![CDATA[
                import mx.controls.Alert;
                import mx.events.FlexEvent;
                private var _netConnection:NetConnection;
                protected function button1_clickHandler(event:MouseEvent):void
                {
                    if(request.text == ""){
                        Alert.show("请输入请求地址","温馨提示");
                        return;
                    }
                    if(action.text == ""){
                        Alert.show("请输入请求方法","温馨提示");
                        return;
                    }
                    resultText.text = "connecting...";
                    initNetConnection();
                    _netConnection.connect( request.text as String);
                    _netConnection.call(action.text,new Responder(function(result:Object):void{
                        if (result) {
                            trace("onResult: ",JSON.stringify(result));
                            resultText.text = "onResult:
    
    "+"ation:"+action.text+"
    arguments:"+param.text+"
    
    result:
    "+JSON.stringify(result);
                        }
                    }),param.text);
                }
                
                private function initNetConnection():void
                {
                    if (!_netConnection) {
                        trace("initConnection");
                        _netConnection = new NetConnection();
                        NetConnection.defaultObjectEncoding = ObjectEncoding.AMF3;
                        _netConnection.addEventListener(NetStatusEvent.NET_STATUS,onStatus);
                    }
                }
                public function onStatus(e:NetStatusEvent):void
                {
                    trace("e.info.code", e.info.code);
                    resultText.text = e.info.code;
                    switch (e.info.code) {
                        case "NetConnection.Connect.Success":
                        case "NetConnection.Connect.Rejected":
                        case "NetConnection.Connect.NetworkChange":
                        case "NetConnection.Connect.Closed":
                            break;
                        case "NetConnection.Call.Failed":
                        case "NetConnection.Connect.Failed":
                            //case "NetConnection.Call.BadVersion"://以不能识别的格式编码的数据包。
                            trace("onReConnect");
                            if (_netConnection) {
                                _netConnection.removeEventListener(NetStatusEvent.NET_STATUS,onStatus);
                                _netConnection.close();
                                _netConnection = null;
                            }
                            break;
                    }
                }
                private function test(...arg):void
                {
                    trace(arg);
                }
                
                protected function application1_applicationCompleteHandler(event:FlexEvent):void
                {
                    test("1",2,3);
                }
                
            ]]>
        </fx:Script>
        
        
        <s:HGroup gap="4" top="10" left="5"  >
            <s:Label text="RequestURL:" paddingTop="6"/>
            <s:TextInput id="request" width="180" text="http://45.63.127.27/web/"/>
            <s:Label text="action:"  paddingTop="6"/>
            <s:TextInput id="action" width="150" text="LoginAction.index"/>
            <s:Label text="params:"  paddingTop="6"/>
            <s:TextInput id="param" width="200" text="login,apple,tomyuang"/>
            <s:Button label="send" click="button1_clickHandler(event)"/>
        </s:HGroup>
        <s:TextArea id="resultText" width="790" height="500" left ="5" top="50" selectable="true" />
    </s:Application>
  • 相关阅读:
    总结!!!总结!!!
    Beta 总结
    BETA-7
    BETA-6
    BETA-5
    BETA-4
    BETA-3
    华为云-软件产品案例分析
    BETA-2
    BETA-1
  • 原文地址:https://www.cnblogs.com/frost-yen/p/5667148.html
Copyright © 2011-2022 走看看