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;
/* ... */