📄 address.cpp
字号:
//#ifdef WIN32
//#include "StdAfx.h"
//#define WIN32
//#endif
#include "StdAfx.h"
#include "Address.h"
namespace fs
{
namespace socket
{
VOID Address::Init()
{
addr.sin_family=AF_INET;
addr.sin_addr.S_un.S_addr=INADDR_ANY;
}
void Address::SetPort( UINT port )
{
addr.sin_port=htons(port);
}
BOOL Address::Set(const LPCSTR ip,UINT port,BOOL isDomainName )
{
if (isDomainName)
{
struct hostent* hp=gethostbyname(ip);
if (!hp)
{
return FALSE;
}
char* haddr=(char*)(hp->h_addr);
memcpy((char*)&addr.sin_addr,haddr,hp->h_length);
}
else
{
addr.sin_addr.S_un.S_addr=inet_addr((CHAR*)ip);
}
SetPort(port);
return TRUE;
}
void Address::GetIp( LPCSTR ip,int len )
{
memcpy((VOID*)ip,inet_ntoa(addr.sin_addr),len);
}
CHAR* Address::GetIp()
{
return inet_ntoa(addr.sin_addr);
}
Address::Address( UINT port )
{
Init();
SetPort(port);
}
Address::Address( LPCSTR ip,UINT port )
{
Init();
Set(ip,port);
}
Address::Address( VOID )
{
Init();
}
UINT Address::GetPort()
{
return ntohs(addr.sin_port);
}
LPSOCKADDR Address::GetPtr()
{
return (LPSOCKADDR)&addr;
}
UINT Address::GetSize()
{
return sizeof(addr);
}
Address::~Address()
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -