private void EndConnectCallback(IAsyncResult ar)
 {
     try
     {
         socket.EndConnect(ar);
         policy.OnConnected();
     }
     catch (Exception e)
     {
         policy.OnNetworkError(e);
     }
 }