Esempio n. 1
0
 private void destoryLinker()
 {
     lock (_desObj)
     {
         if (_linker != null)
         {
             _linker.StreamDataReceived   -= linker_StreamDataReceived;
             _linker.StreamHeaderReceived -= linker_StreamHeaderReceived;
             _linker.ErrorOccurred        -= linker_ErrorOccurred;
             _linker.Dispose();
             _linker = null;
         }
     }
 }
Esempio n. 2
0
 private void _adapter_ReceiveCompleted(object sender, SocketHelper.Events.ReceiveEventArgs args)
 {
     if (args.ByteLenght >= 4)
     {
         int code = BitConverter.ToInt32(args.ReceivedBytes, 0);
         switch (code)
         {
         case StreamEntityCode.StreamAddress:
         {
             StreamAddress sa = StreamAddress.DeserializeTo(args.ReceivedBytes);
             destoryLinker();
             Console.WriteLine("Uri:" + sa.Url);
             _linker = StreamLinkerManager.Instance.GetStreamLinker(sa);
             if (_linker != null)
             {
                 _linker.StreamHeaderReceived += linker_StreamHeaderReceived;
                 _linker.StreamDataReceived   += linker_StreamDataReceived;
                 _linker.ErrorOccurred        += linker_ErrorOccurred;
             }
         }
         break;
         }
     }
 }