我正在開發一個AIR項目來在Flex中進行機器集成。在一臺機器上,我的應用程序工作得非常好,我可以根據需要從機器接收數據。在第二種情況下,我認爲就像我們必須發送'READY'類型的關閉信號到我們將得到'ACK'的機器(握手),然後只有通信開始。通過套接字在flex中發送就緒信號
這個'READY'信號如何使用Socket從ActionAcript發送。
我的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將向/從機器系統發送和接收數據。使用該應用程序,我將不得不使用套接字連接到系統中的端口,並執行讀取操作。
我這裏的問題是我沒有收到我的onSocketData
函數中的任何數據。在通信開始之前,我需要發送READY信號。我被困在這裏,因爲我不知道如何在Flex中執行此操作。任何想法或建議都受到熱烈歡迎。