public static void ProcPacket(ref dpa packet) { for (int i = 0; i < packet.sz; i++) { Console.Write((char)packet.data[i]); } Console.Write('\n'); }
public static void SendPacket(ref dpa packet) { byte[] temp = new byte[4]; // packet.sz temp[0] = (byte)(packet.sz & 0xFF); temp[1] = (byte)((packet.sz << 8) & 0xFF); temp[2] = (byte)((packet.sz << 16) & 0xFF); temp[3] = (byte)((packet.sz << 24) & 0xFF); soc.Send(temp, 0, 4, SocketFlags.None); soc.Send(packet.data, 0, packet.sz, SocketFlags.None); }
public static void GetPacket(ref dpa packet) { byte[] temp = new byte[4]; soc.Receive(temp, 0, 4, SocketFlags.None); s32 len = (temp[0] | (temp[1] << 8) | (temp[2] << 16) | (temp[3] << 24)); temp = new byte[len]; int idx = 0; packet.sz = len; while (len != 0) { int sz = soc.Receive(temp, idx, len, SocketFlags.None); idx += sz; len -= sz; } packet.data = temp; }