A szabványos szerverek (mint például az FTP vagy a TELNET) a hálózatban minden hoston a megfelelo "jól ismert" porton várakoznak a kliensek rákapcsolódására. A "jól ismert" port sorszámát általában nem égetik bele a szerverbe, hanem egy külso adatbázisban tárolják (a /etc/services fileban), a programok onnan kérdezhetik le. Az adatbázis lekérdezését egy getservbyname() könyvtári függvénnyel lehet elvégezni. Ez egy servent strukturára mutató pointerrel tér vissza. A struktura szerkezete a következo:
struct servent { char *s_name; /* A szolgaltatas hivatalos neve */ char **s_aliases; /* A szolgaltatas egyeb hasznalt nevei */ int s_port; /* A port sorszama, ahol a szervernek a a kliensekre kell varnia. Network byte orderben */ char *s_proto; /* A hasznalando protokoll */ };
Ha például a TCP alapú FTP protokollt akarjuk használni, akkor a következoképp kell a fent említett rutint használni:
struct servent *sp; struct sockaddr_in serv_addr; ... /* serv_addr struktura kitoltese */ sp=getservbyname("ftp","tcp"); serv_addr.sin_port=sp->s_port; /* ... */