我一直试图让flash从我的小型串口到IP转换器接收TCP消息。使用其他一些软件,我可以看到消息传来,所以我知道它有点工作。 从flash我尝试使用Socket和XML套接字,但我不确定我在做什么,我设法得到一个连接,但它似乎没有输出数据,或在数据时触发事件收到了。 我不确定我是否会采取正确的方式,我们将不胜感激。
由于
答案 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,以及一些用于解决它的示例代码。如果您无法通过尝试连接的服务器进行直接访问,则可能需要使用代理服务器进行探索。