mirsocket.cpp

来自「传奇的脱机源代码 非常的好 供大家学习 谢谢」· C++ 代码 · 共 59 行

CPP
59
字号
// MirSocket.cpp: implementation of the CMirSocket class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MirSocket.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMirSocket::CMirSocket()
{

}

CMirSocket::~CMirSocket()
{

}
int CMirSocket::SetNoBlock( SOCKET s )
{
	unsigned long mode = 1;
	if( ioctlsocket( s, FIONBIO, &mode ) == -1 )
		return 0;
	return 1;
}
BOOL	CMirSocket::NetStartup()
{
	WSADATA m_wsaData;
	return (WSAStartup(MAKEWORD(2,2), &m_wsaData) != SOCKET_ERROR);
}
BOOL	CMirSocket::NetCleanup()
{
	return WSACleanup();
}

SOCKET	CMirSocket::OpenConnection( LPCTSTR ip, unsigned short port )
{
	LPHOSTENT m_pHost;
	SOCKET s;
	struct sockaddr_in ServAddr;

	m_pHost = gethostbyname(ip);
	s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
	ServAddr.sin_family=AF_INET;
	ServAddr.sin_addr.s_addr=*(ULONG*)m_pHost->h_addr_list[0];
	ServAddr.sin_port=htons(port);
	int erri=connect(s, (struct sockaddr*)&ServAddr,sizeof(ServAddr));
	if(erri==-1)
		return 0;
	return s;
}
void	CMirSocket::CloseConnection( SOCKET s )
{
	closesocket( s );
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?