public override void Recive(long time)
 {
     try
     {
         int len = Link.Receive(buff, SocketFlags.Peek);
         if (len > 0)
         {
             len = Link.Receive(buff);
             var list = envelope.Unpack(buff, len);
             try
             {
                 for (int i = 0; i < list.Count; i++)
                 {
                     var dat = list[i];
                     Dispatch(dat.data, dat.type);
                 }
             }catch (Exception ex)
             {
                 System.Diagnostics.Debug.WriteLine(ex);
             }
         }
     }
     catch (Exception ex)
     {
     }
 }
Example #2
0
 public void Recive()
 {
     try
     {
         int len = Link.Receive(buff, SocketFlags.Peek);
         if (len > 0)
         {
             len = Link.Receive(buff);
             var list = envelope.Unpack(buff, len);
             try
             {
                 for (int i = 0; i < list.Count; i++)
                 {
                     var dat = list[i];
                     Dispatch(dat.data, dat.type);
                 }
             }catch (Exception ex)
             {
                 Console.WriteLine(ex);
             }
         }
     }
     catch (Exception ex)
     {
     }
 }
Example #3
0
 void Receive()
 {
     try
     {
         int len = client.Receive(buffer);
         if (Packaging)
         {
             var dat = envelope.Unpack(buffer, len);
             if (dat != null)
             {
                 for (int i = 0; i < dat.Count; i++)
                 {
                     var item = dat[i];
                     EnvelopeCallback(item.data, item.type);
                 }
             }
         }
         else
         {
             byte[] tmp = new byte[len];
             for (int i = 0; i < len; i++)
             {
                 tmp[i] = buffer[i];
             }
             if (auto)
             {
                 if (a_Dispatch != null)
                 {
                     a_Dispatch(tmp, 0, null);
                 }
             }
             else
             {
                 SocData soc = new SocData();
                 soc.data = tmp;
                 lock (queue)
                     queue.Enqueue(soc);
             }
         }
     }
     catch (Exception ex)
     {
         //if (ConnectFaild != null)
         //    ConnectFaild(ex.StackTrace);
     }
 }
Example #4
0
 void Run()
 {
     byte[] buffer = new byte[65536];
     while (running)
     {
         try
         {
             EndPoint end = endPoint;
             int      len = soc.ReceiveFrom(buffer, ref end);//接收数据报
             if (len > 0)
             {
                 byte[] dat = new byte[len];
                 for (int i = 0; i < len; i++)
                 {
                     dat[i] = buffer[i];
                 }
                 if (Packaging)
                 {
                     var data = envelope.Unpack(dat, len);
                     for (int i = 0; i < data.Count; i++)
                     {
                         var item = data[i];
                         EnvelopeCallback(item.data, item.type);
                     }
                 }
                 else
                 {
                     EnvelopeCallback(dat, 0);
                 }
             }
         }
         catch (Exception ex)
         {
             System.Diagnostics.Debug.WriteLine(ex.StackTrace);
         }
     }
 }