添加对域名的解析功能。
This commit is contained in:
@@ -87,6 +87,13 @@ IOCPClient::~IOCPClient()
|
||||
m_bWorkThread = S_END;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡIP<49><50>ַ
|
||||
inline string GetIPAddress(const char *hostName)
|
||||
{
|
||||
struct hostent *host = gethostbyname(hostName);
|
||||
return host ? inet_ntoa(*(struct in_addr*)host->h_addr_list[0]) : "";
|
||||
}
|
||||
|
||||
BOOL IOCPClient::ConnectServer(char* szServerIP, unsigned short uPort)
|
||||
{
|
||||
m_sClientSocket = socket(AF_INET,SOCK_STREAM, IPPROTO_TCP); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -100,7 +107,10 @@ BOOL IOCPClient::ConnectServer(char* szServerIP, unsigned short uPort)
|
||||
sockaddr_in ServerAddr;
|
||||
ServerAddr.sin_family = AF_INET; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP
|
||||
ServerAddr.sin_port = htons(uPort);
|
||||
ServerAddr.sin_addr.S_un.S_addr = inet_addr(szServerIP);
|
||||
// <20><>szServerIP<49><50><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IPת<50><D7AA>
|
||||
string server = ('0' <= szServerIP[0] && szServerIP[0] <= '9')
|
||||
? szServerIP : GetIPAddress(szServerIP);
|
||||
ServerAddr.sin_addr.S_un.S_addr = inet_addr(server.c_str());
|
||||
|
||||
if (connect(m_sClientSocket,(SOCKADDR *)&ServerAddr,sizeof(sockaddr_in)) == SOCKET_ERROR)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user