头文件中的SOCKET类型报错未定义

头文件中的SOCKET类型报错未定义,第1张

你要添加相关头文件 和库

#include <winsock2.h>

#pragma comment(lib,"Ws2_32.lib")

希望对你有所帮助

errno.h 是C语言C标准函式库里的标头档,定义了通过错误码来回报错误信息的宏。

errno本身是一个整型的全局变量,当使用errno的库函数,在执行出错时,只通过函数返回值返回一个表示出错的标识,如-1或NULL等,具体的出错原因会被赋值到errno中。通过查询errno可以确定具体的出错原因。

在errno.h中定义了一系列常见的宏,其形式为

#define EPERM 1 /* Operation not permitted */

可以划分为

1 定义一个宏名,以E开头;

2 定义其值,为一个正整数;

3 一个注释区域,说明该错误号出现时的具体错误内容。

errno.h中的条目因不同编译器的实现而有所区别,一般在100~128条范围内,具体内容可以在编译器的系统标准头文件夹下查看对应文件。

在出错函数(socket)后面用printf("%m\n")打印出来可以知道出错的原因

%m表示errno和strerror(errno)

或者不怕麻烦的话添加头文件<error.h>

然后还是在出错的函数socket()后面添加打印信息printf("%d|%s\n", error, strerror(errno))

error表示该函数的出错码,后面的表示英文解释,具体的可以在linux下用慢查找

虽然这个办法笨了点。但是我只会这种方法....

你有抓包看了吗 linux下用tcpdump -w抓到本地来看 本地用wireshark抓 一抓包啥东西都清清楚楚


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8070978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存