Exemple #1
0
 /// <summary>
 /// UDP接收回调
 /// </summary>
 /// <param name="ar"></param>
 private void UDP_Recieve(IAsyncResult ar)
 {
     try
     {
         IPEndPoint Remote_Point = null;
         byte[]     Receive_Data = UDP_Client.EndReceive(ar, ref Remote_Point);
         if (Receive_Data.Length > 0)
         {
             if (Proxy_Point_List.Contains(Remote_Point))
             {
                 var Header    = DataHandle.Get_UDP_Header(Remote_Point);
                 var Send_Data = Header.Concat(Receive_Data).ToArray();
                 Return_Source(Client_Point, DataHandle.En_Bytes(Send_Data));
             }
         }
         UDP_Client.BeginReceive(new AsyncCallback(UDP_Recieve), null);
     }
     catch (Exception) {
     }
 }
Exemple #2
0
 /// <summary>
 /// 代理端接收数据回调
 /// </summary>
 /// <param name="ar"></param>
 private void TCP_Proxy_Receive(IAsyncResult ar)
 {
     try
     {
         byte[] Data = DataHandle.En_Bytes(Proxy_Data.Take(Proxy_Stream.EndRead(ar)).ToArray());
         if (Data.Length > 0)
         {
             TCP_Socks_Send(Client_Stream, Data);
             Proxy_Stream.BeginRead(Proxy_Data, 0, Data_Size, TCP_Proxy_Receive, null);
         }
         else
         {
             close();
         }
     }
     catch
     {
         close();
     }
 }
Exemple #3
0
 /// <summary>
 /// 发送数据
 /// </summary>
 /// <param name="tcpClient">TCPClient</param>
 /// <param name="Data">数据</param>
 private void TCP_Send(TcpClient tcpClient, byte[] Data)
 {
     tcpClient.GetStream().Write(DataHandle.En_Bytes(Data));
 }