文章目录

  • 1 Windows下Socket库的初始化和关闭

1 Windows下Socket库的初始化和关闭

windows下使用Socket比较特殊,使用前我们需要对socket库进行初始化,使用完我们需要对socket库进行关闭,完成相应的清理动作。

首先看一下代码:

#include <iostream>#define WIN32_LEAN_AND_MEAN#include <Windows.h>
#include <WinSock2.h>//#pragma comment(lib, "ws2_32.lib")using namespace std;int main()
{WSADATA data;WORD version = MAKEWORD(2, 2);WSAStartup(version, &data);WSACleanup();return 0;
}

要点如下:

  1. WIN32_LEAN_AND_MEAN宏的使用主要是为了避免Windows.h和WinSock2.h种引起的冲突,这是一种比较好的解决方案;另外一种解决方案是将WinSock2.h放到Windos.h前面,这样的话当工程比较大的时候就很难管理了,很容易出错。
  2. #pragma comment(lib, "ws2_32.lib")是包含相应的静态库,如果是在vs种我们也可以将ws2_32.lib直接添加到连接器-输入中即可。
  3. 我们先看一下int WSAAPI WSAStartup(_In_ WORD wVersionRequested, _Out_ LPWSADATA lpWSAData );这个函数,LPWSADATA这种类型往往是指针类型,我们只需要将LP去掉就可以知道所需要的类型。

参考资料:

  1. C++ 百万并发网络通信引擎架构与实现 (服务端、客户端、跨平台) Version 1.0

Windows下Socket库的初始化和关闭相关推荐

  1. Windows下Socket编程

    Windows下Socket编程 构架 创建socket 绑定bind 存储转换函数 监听listen 接收accept 发送send(tcp)/sendto(udp) 接收recv(tcp)/rec ...

  2. windows下socket编程GetLastError()函数返回结果与对照表-转

    原文地址:http://blog.sina.com.cn/s/blog_4880c4bb0100b6a5.html WSAGetLastError()函数返回结果与对照表: Windows Socke ...

  3. windows下DGL库cuda版本安装

    windows下DGL库cuda版本安装 方法1 在dgl官网下 https://www.dgl.ai/pages/start.html 找到对应版本 根据命令安装 但是可能会出现安装成功,但是imp ...

  4. Windows下安装 msysGit 以及初始化 Git server环境

    Windows下git工具msysGit使用以及Git server初始化 Windows下git工具,这里选择msysGit,版本为msysGit-netinstall-1.8.1.2-previe ...

  5. windows下socket开发tcp程序 简单例子

    转载自:http://blog.csdn.net/trbbadboy/article/details/7408003 Windows下的简单tcp例子.代码均在VC6.0下调试过.服务器代码: //T ...

  6. linux 和 Windows下FFTW库的安装

    我整理了FFTW在windows和linux下安装的过程,我自己也在这两个系统中安装成功了,还是遇到不少问题的,我接下来把网上搜到的资料和自己遇到的问题一一告诉大家,让大家少走弯路. windows ...

  7. Windows 下正则表达式库 re2 在 C++ 和 Python 中的编译和使用

    相信平时在工作或学习中需要处理大量正则表达式的同志们对 google 大名鼎鼎的 re2 模块一定不陌生,但之前在网上进行搜索时,很多人说无法在 windows 系统使用该模块.本文简述了 windo ...

  8. windows 下查看库文件符号的工具dumpbin(类似linux的nm)

    对于lib: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin>dumpbin /LINKERMEMBER   D:\lib\ ...

  9. Windows下Git库的创建

    图形化 打开Git GUI 选择"创建新的版本库": 选择要创建的目录,单击"新建"后,即可完成对Git库的创建,创建完成后会出现如下界面: 并在Git仓库目录 ...

最新文章

  1. Java处理高并发、高负载类网站的优化方法
  2. python 跳出两层循环,跳出多层循环
  3. 用Windows Live Writer在51CTO写博客(2018年2月24日更新)
  4. 数学篇(三)向量的基本运算
  5. 图片合成gif_使用在线图片工具处理静态和动态图片的技巧
  6. Shiro过滤器配置(ShiroFilterFactoryBean)
  7. C语言fscanf和fprintf函数的用法详解
  8. [Unity] AnimationEvent 的 receiver 需要继承 Mono
  9. ubuntu11.10乱码解决
  10. 教你前端面试技巧,教你如何涨薪!
  11. JavaScript数据结构与算法-列表练习
  12. 【C#+SQL数据库】企业人事管理系统(含E-R图及源代码下载)
  13. linux下find搜索jpg格式图片,Linux文件查找命令-find
  14. Pun2插件结合Xlua热更新开发 一、在lua中自定义PunRpc方法
  15. [转]天龙八部的BillingServer
  16. mathmatica中ListLinePlot函数画图不能混合是咋回事啊
  17. 安装APK 免输入vivo、oppo密码
  18. 背景的css代码,CSS网页设计实例:设计制作大背景网页_css
  19. 世界空战史上的头号王牌空中杀手
  20. HDU-2545 树上战争

热门文章

  1. 2.2 Logistic 回归-深度学习-Stanford吴恩达教授
  2. 1.7 总结-深度学习-Stanford吴恩达教授
  3. 【PC工具】更新速度最快最好用的文件内容搜索工具:searchmyfiles
  4. 硬核创客DIY遥控氦气球飞行器——会飞的鲨鱼的诞生的全过程
  5. 32.C#--方法中使用out参数做登录判断
  6. 第215天:Angular---指令
  7. OpenStack icehouse系列之计算节点搭建
  8. Windows环境下搭建React Native
  9. CentOS7下pptp ***一键安装脚本
  10. Java——容器(Comparable)