/// <summary> /// Handle the server time syncronization request /// </summary> /// <param name="pBuffer">Packet Data buffer</param> private void HandleSynchronizeRequest(Byte[] pBuffer) { // Parse the sync request packet SyncRequestPacket syncRequest = new SyncRequestPacket(); syncRequest.Packet = pBuffer; // Create the sync response packet SyncResponsePacket syncResponse = new SyncResponsePacket(); syncResponse.ServerTime = syncRequest.TimeStamp; // Send the packet to the server TransmitPacket(syncResponse); }
/// <summary> /// Compose and send a synchronize packet to the server /// </summary> private void SendSynchronizeRequest() { // Create the sync request packet SyncRequestPacket packet = new SyncRequestPacket(); // Set the sync packet data values packet.TimeStamp = (UInt32)(Environment.TickCount / 10); packet.PacketsSent = m_sessionSocket.PacketsSent; packet.PacketsReceived = m_sessionSocket.PacketsReceived; // Set the server sync timeout to request again m_serverSyncTime = TimeSpan.FromMilliseconds(Environment.TickCount) + TimeSpan.FromSeconds(m_sessionSettings.ServerSyncTime); // Send the sync packet TransmitPacket(packet); }