TCP客户端Flash AS3

时间:2011-03-23 17:13:17

标签: flash actionscript-3

我一直试图让flash从我的小型串口到IP转换器接收TCP消息。使用其他一些软件,我可以看到消息传来,所以我知道它有点工作。 从flash我尝试使用Socket和XML套接字,但我不确定我在做什么,我设法得到一个连接,但它似乎没有输出数据,或在数据时触发事件收到了。 我不确定我是否会采取正确的方式,我们将不胜感激。

由于

2 个答案:

答案 0 :(得分:3)

以下是我用来实现此功能的代码。谢谢你的帮助。

import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.Socket;

var RFIDSocket:Socket = new Socket(RFIDSocketIP,RFIDSocketPort);

RFIDSocket.addEventListener(ProgressEvent.SOCKET_DATA, socketData);

private function socketData(e:ProgressEvent):void {
        var rawData:String = RFIDSocket.readUTFBytes(RFIDSocket.bytesAvailable);
        var RFIDData:String = RFIDData.substring(1,11);
        if(debugMode){
            MonsterDebugger.trace(this, RFIDData);
        }
        RFIDSocket.flush();
}

答案 1 :(得分:1)

我的猜测是你可能会达到安全限制。 Flash需要通过套接字连接到任何服务器的权限,它在端口843上查找权限。Adobe has a pretty good document on the restrictions,以及一些用于解决它的示例代码。如果您无法通过尝试连接的服务器进行直接访问,则可能需要使用代理服务器进行探索。