⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket.h

📁 这是一本学习 window编程的很好的参考教材
💻 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 + -