[Flash] Flash Socket & C++/Java Socket

  • Flash Socket & C++/Java Socket
  • Download: SocketComm.zip Java_C_Comm.zip

    根據Google Analytics資料顯示,我的部落格點閱率最高的文章竟然是[C/C++] Socket Connection ,為此我決定再增加Flash Socket的部份。

    這一篇是最簡單的範例,只是實做讓Flash Socket與C++/Java Socket互通,因為Flash Socket僅有Client的連線功能,Server的部份我們必須仰賴C++/C#/Perl/Java/PHP等語言來完成。預覽畫面如下(Flash Client Side):

    Server-Side (Server的部份則是直接沿用[C/C++/JAVA] Socket Communication Between JAVA and...這篇的程式碼)

    Waiting for Connection......
    Connected from 192.168.2.49/192.168.2.49:1899
    Hello! I'm Flash Client

    程式碼的部份其實很單純,唯一要講解的只有傳送的部份:

    private function sendData():void{
    var buff:ByteArray = new ByteArray();
    buff.writeMultiByte(input.text+"\n","unicode");
    socket.writeBytes(buff);
    socket.flush();
    output.appendText(input.text);
    input.text = "";
    }

    可以看到我們在傳送數據時用的是writeBytes而不是writeUTFBytes,這麼做的原因是要解決中文會亂碼的問題。傳送完之後記的要呼叫flush(),如此才能正常傳送出去。

    關於編碼的資料可以參考下面的網頁:

    http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/charset-codes.html

    Policy File的資訊請參考下面的網頁:

    http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_print.html

    有了上面的簡單概念之後,你可以將Flash的介面稍加修改,再配合之前的聊天程式的片段,就可以組合成聊天室了。

1 comment:

  1. 想請問一下 !~為什麼發送第一句正常 發送第二句訊息之後 就產生 #2002: 嘗試在無效的通訊端上作業。

    ReplyDelete

Orange - data analysis tool

Installation pip install orange3 Run orange python -m Orange.canvas