GNU/Linux >> Znalost Linux >  >> Linux

Jak vybrat statické číslo portu pro vlastní aplikaci?

Pokud nemůžete předvídat přesný druh prostředí, ve kterém vaše aplikace poběží, jednoduše se tím nezatěžujte. Vyberte libovolné číslo nad 1024 a také jej udělejte konfigurovatelné, aby jej uživatel mohl změnit v případě konfliktu s jinou službou/aplikací.

Samozřejmě se stále můžete vyhnout velmi běžným portům jako 8080 (alternativní HTTP) nebo 3128 (proxy jako squid), 1666 (perforce) atd. Zde si můžete prohlédnout úplný seznam známých portů nebo se podívat na /etc/services .


Pokud vás nezajímá číslo portu a nevadí vám, že se mění při každém spuštění vašeho programu, jednoduše port nesvazujte, než na něm nasloucháte (nebo se svažte s portem 0, chcete-li svázat konkrétní IP adresa). V obou případech říkáte OS, aby pro vás vybral volný port.

Až začnete poslouchat, použijte getsockname zjistit, který port byl vybrán. Můžete jej zapsat do souboru, zobrazit na obrazovce, nechat jej zdědit dítě pomocí fork , atd.


U statické aplikace zvažte zaškrtnutí /etc/services najít port, který nebude kolidovat s ničím jiným, co používáte, a který se jinde běžně nepoužívá.

$ tail /etc/services
nimspooler      48001/udp                       # Nimbus Spooler
nimhub          48002/tcp                       # Nimbus Hub
nimhub          48002/udp                       # Nimbus Hub
nimgtw          48003/tcp                       # Nimbus Gateway
nimgtw          48003/udp                       # Nimbus Gateway
com-bardac-dw   48556/tcp                       # com-bardac-dw
com-bardac-dw   48556/udp                       # com-bardac-dw
iqobject        48619/tcp                       # iqobject
iqobject        48619/udp                       # iqobject

Linux
  1. Jak určit vlastní automatické doplňování pro konkrétní příkazy?

  2. Jak nakonfigurovat plochu pro statickou IP adresu?

  3. Jak provést příkaz Ping pouze pro N počet paketů

  1. jak změnit číslo portu pro instalaci Jenkins v Ubuntu 12.04

  2. Jak nainstaluji/vytvořím vlastní výzvu pro rybí skořápku?

  3. Jak svázat USB zařízení pod statickým názvem?

  1. Jak nainstalovat pandom:skutečný generátor náhodných čísel pro Linux

  2. Jak vytvořit smyčku For s měnitelným počtem iterací?

  3. Pkexec – Jak nastavit vlastní časový limit pro Auth_admin_keep při psaní zásad Pkexec?