public void OutPacket(WorldPack pack) { if (!connected()) { return; } UInt16 size = (UInt16)(pack.size() + C2S_PACK_HEAD_SIZE); ByteBuffer data = new ByteBuffer(size); data.W((UInt16)(pack.size() + 4)); data.W((UInt32)pack.opcode()); data.W(pack); _tcpClient.Client.Send(data.contents()); }
bool DoGcPackHead(ByteBuffer data, WorldPack pack, byte flag, bool bSys, bool bComp, bool bEncode) { byte head = flag; if (bSys) { head = SetHeadFlag(head, HeadFlagDef.FLAG_SYSTEM, true); } if (bComp) { head = SetHeadFlag(head, HeadFlagDef.FLAG_COMPRESS, true); } if (bEncode) { head = SetHeadFlag(head, HeadFlagDef.FLAG_ENCRYPT, true); } UInt16 size = (UInt16)pack.size(); UInt16 seq = 0; data.W(head); data.W(size); data.W(seq); return(true); }
public void gcOutPacket(WorldPack pack, bool bSys) { //head1,size2,seq2,content UInt16 size = (UInt16)(pack.size() + GC_NET_HEAD_LENGTH); ByteBuffer data = new ByteBuffer((ushort)size); DoGcPackHead(data, pack, (byte)HeadFlagDef.HeadFlagPro, bSys, false, false); data.W(pack); _tcpClient.Client.Send(data.contents()); }