WinSockの初期化

(2004.12.27)
#pragma once
 
#include <winsock2.h>
#pragma comment(lib, "Ws2_32.lib")
 
 
/////////////////////////////////////////////////////////////////////////////
// CWinsockInit
 
class CWinsockInit
{
public:
    CWinsockInit(int nMajor = 2, int nMinor = 1)
    {
        ::ZeroMemory(&m_wsaData, sizeof(WSAData));
        m_nError = ::WSAStartup(MAKEWORD(nMajor, nMinor), &m_wsaData);
    }
    virtual ~CWinsockInit()
    {
        if (m_nError == 0)
        {
            ::WSACleanup();
        }
    }
 
public:
    operator int() const
    {
        return m_nError;
    }
 
protected:
    int m_nError;
    WSAData m_wsaData;
};
;
一覧に戻る
© 2003 WAC.com All Right Reserved.