socket.h

来自「这是一本学习 window编程的很好的参考教材」· C头文件 代码 · 共 67 行

H
67
字号
#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 + =
减小字号Ctrl + -
显示快捷键?