Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
49 lines
866 B
C++
49 lines
866 B
C++
#include "NFNet.h"
|
|
|
|
namespace NaveNet {
|
|
|
|
int SockRemotePort( SOCKET Sock )
|
|
{
|
|
sockaddr_in servaddr;
|
|
int len;
|
|
|
|
len = sizeof( servaddr );
|
|
if ( getpeername( Sock, (struct sockaddr *)&servaddr, (int*)&len ) == -1 )
|
|
return -1;
|
|
|
|
return ntohs( servaddr.sin_port);
|
|
}
|
|
|
|
int SockRemoteIP( SOCKET Sock, unsigned char ip[4] )
|
|
{
|
|
sockaddr_in addr;
|
|
int len;
|
|
unsigned char *a;
|
|
|
|
len = sizeof( addr );
|
|
if( -1 == getpeername( Sock, (struct sockaddr *)&addr, (int*)&len ) )
|
|
return -1;
|
|
|
|
a = (unsigned char *)&(addr.sin_addr);
|
|
ip[0] = a[0];
|
|
ip[1] = a[1];
|
|
ip[2] = a[2];
|
|
ip[3] = a[3];
|
|
return 0;
|
|
}
|
|
|
|
|
|
BOOL GetHostIPByDomain(IN_ADDR &Addr, const char *szDomain)
|
|
{
|
|
PHOSTENT pHost = gethostbyname(szDomain);
|
|
if(NULL == pHost)
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
memcpy(&(Addr.S_un.S_addr), pHost->h_addr_list[0], sizeof(IN_ADDR));
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
} |