public void Send(Pt pt) { if (pt == null) { OnInfo("--------------------error pt"); return; } byte[] data = pt.toBinary(); OnInfo("--------------------start send:" + (data.Length + 10)); if ((this.socket == null) || (!this.socket.Connected)) { OnInfo("--------------------send,no net"); return; } int allLen = data.Length + 10; allLen = allLen ^ PswCode; byte[] bytesLen = ByteAr_b.i2b(allLen); byte[] bytesPt = ByteAr_b.s2b(pt.GetID()); byte[] bytesSeq = ByteAr_b.i2b(pt.seq); byte[] allData = new byte[data.Length + 10]; Array.Copy(bytesLen, 0, allData, 0, bytesLen.Length); Array.Copy(bytesPt, 0, allData, bytesLen.Length, bytesPt.Length); Array.Copy(bytesSeq, 0, allData, bytesLen.Length + bytesPt.Length, bytesSeq.Length); Array.Copy(data, 0, allData, bytesLen.Length + bytesPt.Length + bytesSeq.Length, data.Length); lock (send_buf) { if (send_len == 0) { allData.CopyTo(send_buf, send_len); send_len = send_len + allData.Length; BeginSend(); } else { allData.CopyTo(send_buf, send_len); send_len = send_len + allData.Length; } } }
public bool write_int(uint data) { return(write_bytes(ByteAr_b.i2b(data))); }