自动初始化 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
    }
};

目录
相关文章
|
Linux
centos使用iptables实现nat端口转发
centos使用iptables实现nat端口转发
1292 4
|
存储 缓存 弹性计算
|
计算机视觉 容器
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
Qt实用技巧:在Qt Gui程序中嵌入qml界面(可动态覆盖整个窗口)
|
Web App开发 监控 应用服务中间件
全新架构:日志服务 SLS 自研免登录方案发布
全新架构!日志服务 SLS 自研免登录方案发布
87965 106
|
Web App开发 前端开发 JavaScript
JavaScript Web Full Stack 全栈开发者路线及内容推荐
本文详细介绍了一条全面的JavaScript全栈开发者学习路径,涵盖基础知识、前端和后端开发、数据库与API、MERN Stack与React Native、工程化与部署、安全与测试、未来趋势等方面。推荐了HTML5、CSS3、JavaScript(ES6+)、Node.js、React.js、Vue.js、Svelte、Tailwind CSS、Web Components等关键技术,并提供了丰富的书籍、博主和在线资源。此外,还回顾了JavaScript的历史,并推荐了多个活跃的社区和平台,帮助开发者紧跟技术前沿。
|
Java 关系型数据库 MySQL
|
Java 数据库
request.setAttribute()详解
request.setAttribute()详解
1444 1
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
985 0
|
运维 应用服务中间件 nginx
自动化运维的利器:Ansible入门与实践
【9月更文挑战第13天】在这个快速发展的IT时代,自动化运维已成为提升效率、减少失误的关键。本文将带你了解Ansible,一个强大的自动化工具,它简化了配置管理、应用部署和任务自动化。通过实际案例,我们将探索Ansible的基本概念、安装步骤、关键组件以及如何编写Playbook来自动化日常任务。无论你是新手还是有经验的运维专家,这篇文章都将为你提供宝贵的见解和技巧,让你在自动化运维的道路上更进一步。
|
人工智能 自然语言处理 数据可视化
体验评测报告:阿里云百炼平台——大模型应用构建的全方位工具箱
体验评测报告:阿里云百炼平台——大模型应用构建的全方位工具箱
1356 2