📄 socket.h
字号:
#ifndef __SOCKET_H__
#define __SOCKET_H__
// init socket
BOOL WINAPI InitSocket()
{
int nStatus = 0;
WORD wVersionReqd = MAKEWORD(2, 1);
WSADATA lpmyWSAData;
nStatus = ::WSAStartup(wVersionReqd, &lpmyWSAData);
if(nStatus != 0)
{
return FALSE;
}
return TRUE;
}
// cleanup socket
BOOL WINAPI TermSocket()
{
return (::WSACleanup() == 0)?TRUE : FALSE;
}
void WINAPI CloseSocket(SOCKET s)
{
if(s != INVALID_SOCKET)
{
::closesocket(s);
}
}
BOOL WINAPI GetHostName(char *chIP, char *chName)
{
BOOL bRet = FALSE;
char chTemp[256];
hostent* pEnt = NULL;
ZeroMemory(chTemp, 256);
int nRet = ::gethostname(chTemp, 256);
if(nRet == 0)
{
if(AfxIsValidAddress(chName, strlen(chTemp)))
{
strcpy(chName, chTemp);
bRet = TRUE;
}
if(AfxIsValidAddress(chIP, 16))
{
pEnt = ::gethostbyname(chTemp);
if(pEnt)
{
sprintf(chIP, "%d.%d.%d.%d",
BYTE(pEnt->h_addr_list[0][0]), BYTE(pEnt->h_addr_list[0][1]),
BYTE(pEnt->h_addr_list[0][2]), BYTE(pEnt->h_addr_list[0][3]));
bRet = TRUE;
}
else
{
bRet = FALSE;
}
}
}
return bRet;
}
#endif //__SOCKET_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -