private void SendInitialHeartbeat(IPEndPoint endPoint) { DarkUtils.WriteMagicHeader(initialHeartBeat, 0); DarkUtils.WriteInt32ToByteArray(-1, initialHeartBeat, 4); DarkUtils.WriteInt32ToByteArray(8, initialHeartBeat, 8); DarkUtils.WriteInt64ToByteArray(DateTime.UtcNow.Ticks, initialHeartBeat, 12); //Send 4 times. for (int i = 0; i < 4; i++) { socket.SendTo(initialHeartBeat, endPoint); } }
private int WriteRawMessageToBuffer(NetworkMessage nm) { DarkUtils.WriteMagicHeader(sendBuffer, 0); DarkUtils.WriteInt32ToByteArray(nm.type, sendBuffer, 4); if (nm.data == null || nm.data.Length == 0) { DarkUtils.WriteInt32ToByteArray(0, sendBuffer, 8); return(12); } DarkUtils.WriteInt32ToByteArray(nm.data.Length, sendBuffer, 8); Array.Copy(nm.data.data, 0, sendBuffer, 12, nm.data.Length); return(12 + nm.data.Length); }