1.接受端(服务端)什么都收不到。
可能的原因:接收端的buffer要拿整个缓冲区才行,不然就什么都收不到,发送端发送就是sizeof(buffer)+1 或者不加,但是接受端不可 ,建议buffer尽量大些
改正:(暂时不做解释)
2.undefined reference to `__imp_socket'
出现这种问题就是 没有相应的库,写的代码记不记得这句话?
#pragma comment (lib, "ws2_32.lib") 这个就是运行的时候 动态 链接上这个库,但是mingw gcc根本没有这个库,所以这句话是废话,但是在vs中 加以设置就能有效,(因为vs的编译器环境msvc)
@2。0 先看下面的链接
lib 和 dll 的区别、生成以及使用详解 - tenos - 博客园
@2。1 如果是dev:
@2。2如果是vscode:
在task.json中 加上 “-lw32_32 ” 相当于编译的时候就静态链接上这个库。
@2。3如果是vs:
另外在qt或者vs这种要求严格的编译器:头部加上
#define _WINSOCK_DEPRECATED_NO_WARNINGS 可能会解决不少问题(vs不加的话看@2。3如果是vs:“这里”)
下面还有个东西需要有
解释如下:
至此,链接库 加define 初始化api接口都说完了,以上全部是windows下的socket编程经历
附上vscode的额外篇:【学习笔记】VS code 安装配置C++环境&使用第三方库_impluse_response的博客-CSDN博客_vscode添加c++第三方库
看看总是有好处的~