#pragma once
#include "WinSock2.h"
#ifndef __INITSOCKET__H__
#define __INITSOCKET__H__
#pragma comment(lib, "ws2_32.lib")
class CInitSocket
{
public:
BOOL Init( void )
{
int nerr;
WORD dwVersionRequested = MAKEWORD( 2, 2 );
nerr = WSAStartup( dwVersionRequested, &m_wsData );
if ( SOCKET_ERROR != nerr )
{
TRACE( "WSAStartup Error : %d /n", WSAGetLastError() );
return FALSE;
}
if ( LOBYTE( m_wsData.wVersion ) != 2 ||
HIBYTE( m_wsData.wVersion ) != 2 )
{
TRACE ( " Socket Start versions %d.%d /n /
Description : %s /n /
SystemStatus : %s /n /
VendorInfo : %s /n ",
HIBYTE( m_wsData.wVersion ), LOBYTE( m_wsData.wVersion )
, m_wsData.szDescription
, m_wsData.szSystemStatus
, m_wsData.lpVendorInfo );
WSACleanup();
return FALSE;
}
return TRUE;
}
CInitSocket(void) { }
~CInitSocket(void) { WSACleanup(); }
private:
WSADATA m_wsData;
};
#endif // __INITSOCKET__H__