搜尋此網誌

2011年4月23日 星期六

Flash AS3與C/C++之間的Socket通訊

最近嘗試將原本的遊戲改成flash版,所以這星期開始接觸actionscript 3
Flex SDKFlashDevelop 架構了一個免費的開發環境
既然是網路遊戲,所以首先要解決的就是兩者之間的網路通訊問題
網路搜了一下,發現as3有個Socket可以用,於是就開始試作
測試後發現as3的 client連上C/C++的server不久
因為沒回應server端的訊息而被server斷線
debug發現server端送出7個bytes的封包長度
在as3 readInt()得出的結果卻是 117440512,16進位0x07000000
才知道兩者之間所使用的byte order不一樣
再查了一下,as3的 Socket 跟 ByteArray 都有個 endian 可以讓你指定你要的位元組順序
將這些 endian 改成 Endian.LITTLE_ENDIAN 後,兩者之間的通訊就正常了


沒有留言: