Flex에서 기계 통합을 수행하는 AIR 프로젝트를 개발 중입니다. 하나의 컴퓨터에서, 내 앱은 내가 원하는대로 컴퓨터에서 데이터를받을 수 있다는 점에서 정말 효과적이다. 두번째로, 나는 우리가 'READY'kind off 시그널을 머신에 보내야만하는 것처럼 보인다고 생각한다. 그 시그널은 우리가 'ACK'를 받으면 (핸드 쉐이크), 통신 만 시작될 것이다.소켓을 통해 소켓을 통해 신호를 보내려면
어떻게 Socket을 사용하여 ActionAcript에서 'READY'신호를 보낼 수 있습니까?
내 ActionScript 클래스 파일은 다음과 같이됩니다 ..
protected var socket:Socket;
public function init():void
{
socket = new Socket;
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(ProgressEvent.SOCKET_DATA, onSocketData);
socket.addEventListener(Event.CLOSE, onClose);
}
/*** connect to the socket */
public function connect():void
{
if(socket.connected)
{
Status = "Socket is already listening to Port " + socket.remotePort + " in " + socket.remoteAddress;
return;
}
socket.connect("localhost", 5331);
}
/*** handles socket connect event */
private function onConnect(event:Event):void
{
if(socket.connected)
Status = "Connection established successfully from " + Capabilities.os;
else
Status = "Connection failure!";
}
/*** manipulation of received data */
private function onSocketData(event:ProgressEvent):void
{
//Data Recieved
}
/*** handles socket close event */
protected function onClose(event:Event):void
{
Status = "Socket Connection is being closed..";
}
기계 (KR-8900)의 출력은 RS232 .. 8 핀 미니 DIN (남자) ... 시스템에이입니다 db9 핀 (보통) .. 직렬 포트 통신은 외부 도구 'SerProxy'에 의해 수행됩니다. SerProxy는 machine-System과 데이터를 송수신합니다. 이 앱을 사용하면 Socket을 사용하는 시스템의 포트에 연결하고 Read & 쓰기 작업을 수행해야합니다.
여기 내 문제는 내 onSocketData
기능의 데이터를받지 못합니다. 통신이 시작되기 전에 READY 신호를 보내야합니다. Flex에서이 작업을 수행하는 방법을 알지 못해서 여기에 붙어 있습니다. 어떤 아이디어 나 제안도 열렬히 환영합니다.