Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Monitoring Socket S Java

Java zásuvkové objekty sú používané na reprezentáciu konektivity medzi dvoma zariadeniami . Avšak , program , pomocou zásuvky môže zabŕdnuť prípade , že program čaká na pripojenie na stanovenie . V tomto prípade , môžete sa oddelil samostatný vlákno vykonávania , ktorý čaká na pripojenie , zatiaľ čo hlavný program stále beží . Tým , že rozšíri to , môžete použiť samostatné vlákno sledovať zásuvky pre pripojenie a zaobchádzanie s nimi , len oznámenia program , kedy je nadviazané spojenie alebo iný významný aj stane . Hlavné ServerSocket Príklad

Aby ste mohli počúvať na porte cez zásuvku , vytvoriť " SocketServer " objekt . Socket Server načúvať na spojenie na určitý port . Po obdržaní informácie o pripojení k tomuto portu , vracia Socket Server a " Socket " objekt . Všetky údaje získané v priebehu spojenia môžu byť spracované prostredníctvom tohto zásuvky objektu .
Témy

Nite sú príklady spustenie kódu v programe . Tieto závity prevedení umožňujú súčasne priebeh kódu , čo znamená , že kód môže byť napísaný vykonávať súčasne rôznymi závitmi . Tak, napríklad , program , ktorý chce sledovať nejaký stáť na pozadí alebo pripojenie možno vytvoriť vlákno , ktoré robí to , a zavolajte hlavné vlákno , keď sa niečo zmení , alebo spojenia dochádza .

Počúvanie porty s vláknami

zriadenie ďalšej vlákno , môžete vytvoriť kód , ktorý sleduje zásuvku na pozadí , zatiaľ čo hlavný program spustí . Napríklad by ste mohli implementovať triedu , ktorá rozširuje " spustiteľný " triedy , a spustite ho ako samostatný vlákno spustiť na pozadí , počúvať port :

private static class SocketListen implementuje spustiteľný { public void spustiť ( ) { try { listenSocket = new ServerSocket ( 9999 ) ; //počúvať na porte 9999 } catch ( IOException e ) { System.exit ( -1 ) ; //error }

Socket clientSocket = null ; try { obdržal = serverSocket.accept ( ) ; //objekt pripojenie v prípade úspechu } catch ( IOException e ) { System.exit ( -1 ) ; //chyba } } }
Rozdelenie závitov

Ak ste definovali runnable triedu použiť ako počúvanie /sledovanie agenta , všetko , čo zostáva , je použiť ako vlákno . Hlavný program môže volať samostatné vlákno ako súčasť svojho plnenia , ktoré pobežia na socket počúvania kód . Akonáhle je kód končí , a to buď z dôvodu úspechu pripojenie alebo chybou , sledovanie vlákno sa vrátia hlavné vlákno . Hlavné vlákno beží čakacej slučku , kým monitorovacích závitových prevedeniach :

Thread t = new Thread ( new SocketListen ( ) ) ; t.start ( ) ;

while ( t.isAlive ( ) ) { threadMessage ( " Stále čakám ... " ) ; t.join ( 1000 ) , //čaká jednu sekundu pred opakovaním slučky }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené