2011-03-23 6 views
2

Я пытался получить флеш-память для приема TCP-сообщений от небольшого конвертера Serial-IP, который у меня есть. Используя какое-то другое программное обеспечение, я вижу сообщения, которые появляются, поэтому я знаю, что он работает. Из флэш-памяти Я попытался использовать Socket и сокет XML, но я не совсем уверен, что я делаю, мне удалось получить соединение, но оно, похоже, не выводит данные или не запускает события, когда данные получены. Не уверен, что я пойду правильно, любая помощь будет оценена по достоинству.TCP Client Flash AS3

Благодаря

+0

Ваш сервер работает в сети или локально? Если он в сети, дайте мне знать URI и порт, и я отправлю фрагмент, просто написал простой клиент TCP на днях, поэтому не должно быть такой большой сделки, чтобы написать фрагмент для вас. – Zevan

+1

Посмотрите на [этот учебник] (http://gotoandlearn.com/play.php?id=69) об основах двоичного сокета. Этот пример предназначен для поп-сервера, но концепция аналогична. – Sam

+0

Он работает локально, это только один из них: http://tibbo.com/products/controllers/ds203.html работает в режиме TCP. Я просто прочитаю этот учебник и статью, опубликованную ниже, и дайте всем понять, разобрано ли это. Благодаря! –

ответ

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

Моя догадка вы, вероятно, ударяя ограничения безопасности. Flash требуется разрешение для подключения к любому серверу через сокет, он ищет разрешения на порт 843. Adobe has a pretty good document on the restrictions, а также пример кода для его обхода. Если у вас нет прямого доступа к серверу, к которому вы пытаетесь подключиться, вам может потребоваться изучить с помощью прокси-сервера.