c # - TcpListener arbejder ikke på UWP-app

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg opretter en meget enkel klientserver UWP app. Jeg har følgende kode.


private void Button\_Click(object sender, RoutedEventArgs e)
{
    TcpListener server;

    server = new TcpListener(IPAddress.Any, 8081);
    server.Start();

    while (!server.Pending())
    {
    }

    Console.WriteLine("Connected");
}


Denne kode fungerer perfekt i en 'Windows Classic' formular app. Imidlertid er der stadig 'falsk' i min UWP-app. Det nægter at se indgående forbindelse. Jeg er på den samme bærbare computer til klienten og serveren og firewallen er slukket. Igen fungerer det i mine former app, så det er ikke miljøet. Jeg har tilladt klient/server muligheder i kapacitetsafsnittet, men stadig ikke held og lykke.


Ved hjælp af netstat kan jeg se, at port 8081 lytter.


Nogen ideer hvad jeg mangler her? Tak skal du have.

Bedste reference



  Jeg er på samme laptop til klienten og serveren



Ifølge din beskrivelse er serveren og klienten på samme enhed. Ifølge notitsektionen i disse dokumenter: [2]



  Som en følge af netværksisolering forhindrer Windows at etablere en stikketilslutning (Sockets eller WinSock) mellem to UWP-apps, der kører på samme maskine; om det er via den lokale loopback-adresse (127.0.0.0) eller ved udtrykkeligt at angive den lokale IP-adresse. For detaljer om mekanismer, som UWP-apps kan kommunikere med hinanden, se App-til-app-kommunikation.



Vi kan ikke oprette en stikforbindelse mellem to UWP-apps, der kører på samme maskine. Ikke engang med en tilbagesendelsesfritagelse. Dette er som design.


Flere detaljer henvises til den officielle prøve. [3]