Esempio n. 1
0
 private void HandleSynchronizePacket(SynchronizePacket packet)
 {
     if (!packet.Synced)
     {
         // when peer doesn't have a channel this is needed
         if (!Identity.IsSet)
         {
             Identity.Guid = packet.Guid;
         }
         var syncPacketOut = new SynchronizePacket
         {
             Guid      = Identity.Guid,
             Timestamp = _initSyncDelay = DateTime.Now,
             Synced    = false
         };
         SendData(syncPacketOut, null, null);
     }
     else
     {
         PingDelay = (packet.Timestamp - _initSyncDelay).TotalMilliseconds;
         var syncPacketOut = new SynchronizePacket
         {
             Guid   = Identity.Guid,
             Synced = true
         };
         SendData(syncPacketOut, null, null);
         OnPeerSynchronized.Raise(this, new PeerEventArgs(this));
     }
 }
Esempio n. 2
0
 private void HandleSynchronizePacket(SynchronizePacket packet)
 {
     if (!packet.Synced)
     {
         Client.Identity.Guid = packet.Guid;
         var syncPacket = new SynchronizePacket
         {
             Guid      = Client.Identity.Guid,
             Timestamp = DateTime.Now,
             Synced    = true
         };
         Send(syncPacket);
     }
     else
     {
         IsSynchronized = true;
         _synchronizeHandle.Set();
     }
 }
Esempio n. 3
0
        private void ConnectCallback(IAsyncResult res)
        {
            try
            {
                ChannelSocket.EndConnect(res);
            }
            catch
            {
                _synchronizeHandle.Set();
                return;
            }
            Receive();

            var syncPacket = new SynchronizePacket()
            {
                Guid = Client.Identity.Guid
            };

            Send(syncPacket);
        }