2017-12-27 2 views

Odpowiedz

140

Dzieje się tak dlatego, że po dwukropku może znajdować się numer portu lub nazwa usługi.

Poniższy przykład jest ważne gdzie nazwa usługi jest używany zamiast numeru portu:

listener, err := net.Listen("tcp", "localhost:https") // port 443 
// ... 

Mapowanie portu dla określonej usługi można obejrzeć za pomocą net.LookupPort. W systemach uniksowych plik /etc/services pochodzi z mapowań.

+1

Zawsze intryguje mnie dychotomia typu otwartego/zamkniętego typu. Chciałbym zobaczyć coś takiego jak typ _mixed_, w którym są pewne wartości domyślne (tutaj np. Dobrze znane porty i usługi), ale także pozwala je rozszerzyć, ostatecznie wspierając autouzupełnianie. W mojej ograniczonej wiedzy praktycznej ADT TypeScripts są najbliższe, być może jerzyki ADT-ów mogą wyrazić to również bezpośrednio. –

1

Dla wielu Domyślną wartością jest 0: jeśli funkcja

func (u * URL) Port() string 

numer zwrotny zamiast żądło port będzie 0

Port 0 jest zarezerwowanym portem w sieci TCP/IP, co oznacza, że nie powinno być używane w komunikatach TCP lub UDP. Jednak port 0 ma szczególne znaczenie w programowaniu sieci, w szczególności w programowaniu gniazd Unix: do żądania przydzielonych przez system portów dynamicznych.

to jest potrzeba programowania w kilku funkcjach

Powiązane problemy