2017-09-27 1 views
0

XAMARIN을 사용하여 내 안드로이드 응용 프로그램을위한 채팅 응용 프로그램을 만들고 있는데, tcp listener를 시작하려고 할 때 mono-io-layer-error (10013) . 인터넷 옵션이 이미 승인을 위해 선택되었습니다.모노 아이오 - 레이어 오류의 이유 (10013)

주 활동의 OnCreate() 메소드 내부에서 이것을 호출합니다.

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) 
     { 

     } 
    } 

답변

1

문제는 Prefixes에 추가하여 문자열이 잘못된 것입니다 :

내 코드는 다음과 같은 것입니다.

URI 접두사 문자열은 체계 (http 또는 https), 호스트, 선택적 포트 및 선택적 경로 (예 : http://www.contoso.com:8080/customerData/)로 구성됩니다.

listener.Prefixes.Add("http://192.168.20.93" + PortNumber + "/");listener.Prefixes.Add("http://192.168.20.93:" + PortNumber + "/");으로 변경하십시오.