MUD游戏编程 Winsock杂项函数

Winsock杂项函数

1、将IP地址转换成字符串,并转换回IP地址

下面这个函数将字符串类型的IP地址转换成unsigned long类型:

unsigned long inet_addr( const char *string );

下面这个函数与此相反,将一个数字地址转换成一个字符串:

char* inet_ntoa( struct in_addr in );


示例:

unsigned long address = inet_addr( "192.168.0.1" );
struct in_addr addr;
addr.S_un.S_addr = address;    // ugh, UGLY!
char* addrstr = inet_ntoa( addr );


2、获取套接字信息

下一个函数用来获取套接字的有关信息:

int getsockname( int socket, struct sockaddr* name, socklen_t* namelen );


示例:

struct sockaddr_in addr;
socklen_t sa_size = sizeof( struct sockaddr_in );// fill out the size
getsockname( sock, (struct sockaddr*)&addr, &sa_size );
unsigned short port = ntohs( addr.sin_port );    // get the port number
unsigned long address = ntohl( addr.sin_addr );  // get the address number

你可能感兴趣的:(MUD游戏编程 Winsock杂项函数)