package
{
import com.commons.utils.Map;
import com.net.tcp.DataCache;
import com.net.tcp.DataContent;
import com.net.tcp.DataHead;
import com.net.tcp.DataPack;
import com.net.tcp.DataType;
import com.net.tcp.NetSocket;
import com.net.tcp.StreamObjectManager;
import com.net.test.TestVO;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.Socket;
import flash.utils.ByteArray;
public class NetCommunication extends Sprite
{
private var socket:Socket;
public function NetCommunication()
{
// StreamObjectManager.init();
// var object:Object = new Object();
// object.id = 2323;
// object.name="fefef";
// var map:Map = new Map();
// map.put("ff", 134);
// map.put("xxx", "nfff");
// object.map = map;
// var testVO:TestVO = new TestVO();
// testVO.o = object;
// testVO.i = 100;
// testVO.d = 130.42424;
// var pack:DataPack = new DataPack();
// pack.writeObject(testVO, DataType.TYPE_OBJECT);
// pack.rewind();
// var testVO1:TestVO = pack.readObject();
// trace(testVO1);
StreamObjectManager.init();
socket = new Socket("127.0.0.1", 2345);
socket.addEventListener(Event.CONNECT, connectComplete);
}
public function connectComplete(event:Event):void{
socket.removeEventListener(Event.CONNECT, connectComplete);
socket.addEventListener(ProgressEvent.SOCKET_DATA, receive);
var object:Object = new Object();
object.id = 2323;
object.name="fefef";
var map:Map = new Map();
map.put("ff", 134);
map.put("xxx", "nfff");
object.map = map;
var testVO:TestVO = new TestVO();
testVO.o = object;
testVO.i = 100;
testVO.d = 130.42424;
send(testVO);
}
public function receive(event:Event):void{
var byteArray:ByteArray = new ByteArray();
socket.readInt();
socket.readBytes(byteArray);
byteArray.position = 0;
var content:DataContent = new DataContent();
content.writeBytes(byteArray, 0, byteArray.bytesAvailable);
var pack:DataPack = new DataPack(content);
pack.rewind();
var object:Object = pack.readObject();
trace(object);
}
public function send(object:*):void{
var pack:DataPack = new DataPack();
pack.writeObject(object, DataType.TYPE_OBJECT);
pack.rewind();
socket.writeInt(pack.head.len);
socket.writeBytes(pack.content, 0, pack.content.bytesAvailable);
socket.flush();
}
}
}
java flash tcp字節流通信(二)-flash as3客戶端
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java flash tcp字節流通信(一)-java 協議(3)
heaven_ck
2020-07-05 15:57:57
java flash tcp字節流通信(一)-java 協議(4)
heaven_ck
2020-02-24 00:51:23
java flash tcp字節流通信(一)-java 協議(1)
heaven_ck
2020-02-24 00:51:23
java flash tcp字節流通信(四)-flash as3 客戶端(粘包/半包處理)
heaven_ck
2018-08-30 21:03:30
java flash tcp字節流通信(三)-java StreamObject方法生成器
heaven_ck
2018-08-30 21:03:29
java flash tcp字節流通信(三)-java StreamObject as3 生成器
heaven_ck
2018-08-30 21:03:29
java flash tcp字節流通信(一)-flash as3 協議(2)
heaven_ck
2018-08-30 21:03:29
java flash tcp字節流通信(四)-java 粘包/半包處理器(數據緩存)
heaven_ck
2018-08-30 21:03:29
java flash tcp字節流通信(四)-java 服務端(粘包/半包處理)
heaven_ck
2018-08-30 21:03:29
java flash tcp字節流通信(一)-flash as3 協議(5)
heaven_ck
2018-08-30 21:03:27
java flash tcp字節流通信(一)-flash as3 協議(4)
heaven_ck
2018-08-30 21:03:27
java flash tcp字節流通信(一)-java 協議(6)
heaven_ck
2018-08-30 21:03:27
java flash tcp字節流通信(五)-java 僞事件處理器(新)
heaven_ck
2018-08-30 21:03:27
java flash tcp字節流通信(四)-flash as3 粘包/半包處理器(數據緩存)
heaven_ck
2018-08-30 21:03:27
java flash tcp字節流通信(一)-flash as3 協議(3)
heaven_ck
2018-08-30 21:03:27