private void socket_OnDataArrivedEvent(object sender, byte[] data)
 {
     lock (_BuffersLocker)
     {
         if (!_Buffers.ContainsKey(sender as LJHSocket))
         {
             _Buffers[sender as LJHSocket] = new YiTingBuffer();
         }
         _Buffers[sender as LJHSocket].Write(data);
     }
     ExtraData(sender as LJHSocket, _Buffers[sender as LJHSocket]);
 }
 private void ExtraData(LJHSocket socket, YiTingBuffer buffer)
 {
     try
     {
         YiTingPacket packet = buffer.Read();
         while (packet != null)
         {
             HandlePacket(socket, packet);
             packet = buffer.Read();
         }
     }
     catch (Exception ex)
     {
         Ralid.GeneralLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex);
     }
 }