See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 22743|Vastuse: 0

[Allikas] Rakenda lihtne Http-teenus HttpListeneriga

[Kopeeri link]
Postitatud 02.12.2015 16:56:31 | | |
HttpListener pakub lihtsat, programmeeritavat ja juhitavat HTTP-protokolli kuulajat. See võimaldab sul hõlpsalt pakkuda mõningaid Http-teenuseid ilma, et peaksid alustama suurt teenuseprogrammi nagu IIS.

Märkus: See klass on saadaval ainult arvutites, mis töötavad Windows XP SP2 või Windows Server 2003 operatsioonisüsteemidega.

Http-teenuste kasutamise üldised sammud on järgmised:

Loo HTTP kuulaja objekt ja initsialiseeri see
Lisa URI eesliide, mida tuleb kuulata
Alusta klientide päringute kuulamist
Halda klientide Http-päringuid
Lülita HTTP kuulaja välja
Samme 3 ja 4 saab tsükliliselt rakendada, et pakkuda teenuseid, mida soovivad mitmed kliendid.

Loo HTTP kuulaja objekt

HTTP kuulaja objekti loomiseks tuleb lihtsalt luua uus HttpListeneri objekt.

HttpListener kuulaja = uus HttpListener();

Initsialiseerimine nõuab järgmisi kahte sammu

Kuulamiseks saab lisada URL-vahemiku listener.prefikseid, kasutades järgmist funktsiooni:
kuulaja. Prefixes.Add(prefix) //prefix peab lõppema '/'
Helista kuulajale. Start(), et siduda port ja hakata kuulama kliendi vajadusi.
HTTP-päringute aktsepteerimine

.net 2.0 versioonis on ligipääs HttpListener-klassi poolt kasutatavatele päringu- ja vastuseobjektidele HttpListenerContext objekti kaudu.

Kõige lihtsam viis HttpListenerContexti saamiseks on järgmine:

HttpListenerContext = kuulaja. GetContext();

See meetod blokeerib kõnefunktsiooni seni, kuni kliendi päring on vastu võetud, ja kui soovid reageerimiskiirust parandada, võid kasutada asünkroonset meetodi kuulajat. BeginGetContext(), et saada HttpListenerContext objekt.

Käsitle HTTP-päringuid

Pärast HttpListenerContexti saamist saate objekti, mis esindab kliendi päringut Request atribuudi kaudu, ning objekti, mis esindab vastust, mille HttpListener saadab kliendile Response atribuudi kaudu.

HttpListenerRequest request = kontekst. Taotlus;
HttpListenerResponse vastus = kontekst. Vastus;

HttpListenerRequest objekt siin on sarnane Request and Response'i kasutamisele Asp ja HttpListenerResponse objektides, seega ma ei ütle siin palju, saad allpool konkreetse kasutuse näidet näha.

Lülita HTTP kuulaja välja

Helistades kuulajale. Stop() funktsioon, mis lülitab kuulaja välja ja vabastab vajalikud ressursid

Koodinäide:

kasutades süsteemi;
kasutades System.Collections.Generic;
kasutades System.Texti;

kasutades System.Net;

nimeruum ConsoleApplication1
{
    Klassiprogramm
    {
        staatiline tühjus Main(string[] args)
        {
            HttpListener kuulaja = uus HttpListener();
            kuulaja. Prefiksid.Add("http://localhost/"); Lisa URL-ide vahemik, mida tuleb kuulata
            kuulaja. Start(); Alusta pordi kuulamist ja võta vastu kliendipäringuid
            Console.WriteLine ("Kuulamine...");

            Blokeerib peamise funktsiooni kuni kliendi päringu saabumiseni
            HttpListenerContext = kuulaja. GetContext();
            HttpListenerRequest request = kontekst. Taotlus;
            HttpListenerResponse vastus = kontekst. Vastus;

            string responseString = string. Format(<HTML><BODY>" {0}</BODY></HTML>", DateTime.Now);
            byte[] puhver = System.Text.Encoding.UTF8.GetBytes(responseString);
            Väljasta vastav info kliendile.
            vastus. ContentLength64 = puhver. Pikkus;
            System.IO.Stream väljund = vastus. OutputStream;
            väljund. Write(buffer, 0, buffer. Pikkus);
            Sulge väljundvoog, et vabastada vastavad ressursid
            väljund. Close();

            kuulaja. Stop(); Lülita HttpListener välja
        }
    }
}

Programm on suhteliselt lihtne: esmalt loo HTTP kuulaja, mis rakendab "http://localhost/time/" domeeni teenust, kui see saab kaugpäringu, teisendab ta praeguse aja kliendile stringi väljundiks ja seejärel sulgeb kuulaja.





Eelmine:Probleemid ja lahendused AJAX-i domeenideüleste kõnede puhul ASP.NET MVC või WebAPI teenustele
Järgmine:3. detsembril 2015 nimetati veebileht ametlikult ümber &quot;Code Farmer Networkiks&quot;, teavitatud käesolevaga!
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com