Bare
en prosess Kan lytte på en enkelt TCP/IP -port om gangen på en gitt maskin.
Her er grunnen:
* TCP -sokkelbinding: Når en prosess ønsker å lytte etter innkommende tilkoblinger, binder den en TCP -stikkontakt til en spesifikk IP -adresse og port. Denne bindingen er eksklusiv, noe som betyr at ingen annen prosess kan binde samme adresse og port på den maskinen.
* operativsystemkontroll: Operativsystemet administrerer tildelingen av porter og sikrer at bare en prosess kan eie en bestemt port.
* Portkonflikter: Hvis flere prosesser prøver å binde seg til samme port, vil operativsystemet vanligvis returnere en feil som indikerer at porten allerede er i bruk.
Imidlertid er det måter å oppnå effekten av flere prosesser som lytter på samme port:
* Flere prosesser på forskjellige maskiner: Du kan ha flere prosesser som lytter på samme port, men de må kjøre på separate maskiner.
* Proxying og lastbalansering: Du kan bruke en proxy -server eller en lastbalanse for å distribuere innkommende tilkoblinger på tvers av flere prosesser som lytter på samme port.
* delt port med multiplexing: Du kan ha flere prosesser til å dele en enkelt port ved å bruke teknikker som multiplexing (f.eks. Ved å bruke forskjellige protokoller eller bruke en enkelt prosess for å administrere flere tilkoblinger på en enkelt port). Denne tilnærmingen krever nøye design og implementering.
Sammendrag: Selv om bare en prosess kan lytte på en enkelt TCP/IP -port om gangen på en gitt maskin, er det teknikker for å simulere effekten av flere prosesser som lytter på samme port.