Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C#: Palvelin ei vastaa Windows Servicenä

punppis [16.10.2014 02:08:54]

#

Minulla on HTTP-palvelin, jota hostaan omalta koneelta. Tarkoituksena on lähettää puhelimesta dataa serverille, jota hostaan samassa lähiverkossa.

Palvelin toimii hienosti "standalone"-sovelluksena, mutta kun laitan palvelimen pyörimään Windows Servicenä, ei se vastaa kyselyihin, paitsi sillä koneella millä hostaan.

http://localhost:8080/ sekä http://192.168.1.121:8080 toimii hostikoneella hienosti, mutta esim. puhelimen selaimella joka on samassa WLAN-verkossa ei pääse palvelimeen käsiksi jos se pyörii servicenä.

Windows 8.1 admin-oikeuksilla.

// C#
IPAddress GetPublicIP()
{
    IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (IPAddress ip in host.AddressList)
    {
        if (ip.AddressFamily == AddressFamily.InterNetwork)
        {
            return ip;
        }
    }

    return null;
}

public void listen() {
    listener = new TcpListener(GetPublicIP(), port);
    listener.Start();
    while (is_active) {
        TcpClient s = listener.AcceptTcpClient();
        HttpProcessor processor = new HttpProcessor(s, this);
        Thread thread = new Thread(new ThreadStart(processor.process));
        thread.Start();
        Thread.Sleep(1);
    }
}

Grez [16.10.2014 08:31:10]

#

Voisko windowsissa olla palomuuri joka blokkaa?

punppis [16.10.2014 15:17:50]

#

No niinpä tietysti. Serviceä ajettaessa ei tule tuota normaalia popuppia, joka kysyy tuosta blokkauksesta :) Kiitoksia, nyt toimii.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta