2017-09-27 3 views
0

Je crée une application de chat pour mon application android en utilisant XAMARIN mais quand je vais lancer tcp listener alors je reçois une erreur mono-io-layer (10013) . L'option Internet est déjà sélectionnée pour l'autorisation. J'appelle cela à l'intérieur de la méthode OnCreate() de l'activité principale.Raison de l'erreur mono-io-layer (10013)

mon code est quelque chose comme ceci:

private void CreateListener() 
    { 
     HttpListener listener = null; 
     HttpListenerContext context = null; 
     HttpListenerRequest request = null; 
     HttpListenerResponse response = null; 
     string PortNumber = "8080"; 
     string requestUrl; 
     Boolean listen = false; 

     try 
     { 
      if (listener == null) 
      { 
       listener = new HttpListener(); 
       listener.Prefixes.Add("http://192.168.20.93" + PortNumber + "/"); 
       listener.Start(); 
       listen = true; 
       while (listen) 
       { 
        try 
        { 
         context = listener.GetContext(); 
        } 
        catch (Exception e) 
        { 
         listen = false; 
        } 
        if (listen) 
        { 
         request = context.Request; 
         requestUrl = request.Url.ToString(); 

         // Process request and/or request Url 
        } 
       } 
      } 
     } 
     catch (Exception ex) 
     { 

     } 
    } 

Répondre

1

Le problème est que votre chaîne qui est ajouté à Prefixes est erroné.

Une chaîne de préfixe d'URI est composée d'un schéma (http ou https), d'un hôte, d'un port facultatif et d'un chemin facultatif, par exemple: http://www.contoso.com:8080/customerData/. Essayez de changer votre code listener.Prefixes.Add("http://192.168.20.93" + PortNumber + "/"); en listener.Prefixes.Add("http://192.168.20.93:" + PortNumber + "/");.