最近嘗試將原本的遊戲改成flash版,所以這星期開始接觸actionscript 3
用 Flex SDK 跟 FlashDevelop 架構了一個免費的開發環境
既然是網路遊戲,所以首先要解決的就是兩者之間的網路通訊問題
網路搜了一下,發現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 後,兩者之間的通訊就正常了
沒有留言:
張貼留言