自动初始化 winsock

简介: 自动初始化 winsock

自动初始化 winsock

#pragma once

#ifdef _WIN32
#include <WinSock2.h>  
#pragma comment(lib,"ws2_32.lib")  
//typedef unsigned char  BYTE;
//typedef unsigned short WORD;
//#define MAKEWORD(a, b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))  
#endif // !_WIN32


class CWinSockInit
{
public:
    CWinSockInit(BYTE minorVer = 2, BYTE majorVer = 2)
    {
#ifdef _WIN32
        WSADATA wsaData;
        WORD sockVersion = MAKEWORD(minorVer, majorVer);
        if (::WSAStartup(sockVersion, &wsaData) != 0)
        {
            exit(0);
        }
#endif
    }

    inline ~CWinSockInit()
    {
#ifdef _WIN32
        ::WSACleanup();
#endif
    }
};

目录
相关文章
|
数据建模 C++ 容器
调试实战 —— dll 加载失败之全局变量初始化篇
调试实战 —— dll 加载失败之全局变量初始化篇
|
6月前
如何初始化PoolingHttpClientConnectionManager
【8月更文挑战第26天】如何初始化PoolingHttpClientConnectionManager
379 7
|
9月前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
192 2
|
关系型数据库 MySQL Go
[Golang]存在调用同一个包内某个结构体的方法出错?可能是未初始化结构体
[Golang]存在调用同一个包内某个结构体的方法出错?可能是未初始化结构体
Qt窗口关闭和应用程序停止是否调用析构函数的一些说明
Qt窗口关闭和应用程序停止是否调用析构函数的一些说明
Qt窗口关闭和应用程序停止是否调用析构函数的一些说明
|
Android开发 图形学 网络虚拟化
单设备初始化多个poco与多设备初始化poco
单设备初始化多个poco与多设备初始化poco
499 0
|
算法 安全 Java
深入理解 NioEventLoopGroup初始化
深入理解 NioEventLoopGroup初始化
194 0
|
网络安全 数据安全/隐私保护
M12-2 初始化
M12-2 初始化
176 0

热门文章

最新文章