set_address.c
来自「一个很好的unix网络编程框架」· C语言 代码 · 共 37 行
C
37 行
#include "../etcp.h"/* set_address - fill in a sockaddr_in structure */void set_address( char *hname, char *sname, struct sockaddr_in *sap, char *protocol ){ struct servent *sp; struct hostent *hp; char *endptr; short port; bzero( sap, sizeof( *sap ) ); sap->sin_family = AF_INET; if ( hname != NULL ) { if ( !inet_aton( hname, &sap->sin_addr ) ) { hp = gethostbyname( hname ); if ( hp == NULL ) error( 1, 0, "unknown host: %s\n", hname ); sap->sin_addr = *( struct in_addr * )hp->h_addr; } } else sap->sin_addr.s_addr = htonl( INADDR_ANY ); port = strtol( sname, &endptr, 0 ); if ( *endptr == '\0' ) sap->sin_port = htons( port ); else { sp = getservbyname( sname, protocol ); if ( sp == NULL ) error( 1, 0, "unknown service: %s\n", sname ); sap->sin_port = sp->s_port; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?