当前位置: 首页 > web >正文

errorno 和WSAGetlasterror的区别

errno 和 WSAGetLastError 是用于获取错误代码的机制,但它们应用于不同的编程场景,下面为你详细介绍二者的区别:

应用场景

  • errno:它是 C 和 C++ 等编程语言里用于表示系统调用和库函数错误的全局变量。在 Unix、Linux 等类 Unix 系统以及 Windows 上的一些标准 C 库函数中广泛使用。只要调用的函数出现错误,就会设置 errno 变量。
  • WSAGetLastError:这是 Windows Sockets API 中的一个函数,专门用于获取 Windows 套接字操作所产生的错误代码。在进行 Windows 平台的网络编程,使用如 socketconnectsendrecv 等套接字函数时,如果操作失败,就需要调用 WSAGetLastError 来获取具体的错误代码。

错误代码体系

  • errno:其错误代码是由操作系统和标准 C 库定义的,这些错误代码适用于各类系统调用和标准库函数,涵盖文件操作、内存管理、进程管理等诸多方面。不同的操作系统可能会有细微差异,但大体上是相似的。例如,在类 Unix 系统中,EACCES 表示权限不足,ENOENT 表示文件或目录不存在。
  • WSAGetLastError:该函数返回的错误代码是 Windows 套接字特有的,专门针对网络编程中的错误。这些错误代码与网络连接、数据传输、协议处理等操作相关。例如,WSAECONNREFUSED 表示连接被拒绝,WSAETIMEDOUT 表示连接超时。

总结:

1.windows 进行socket编程 获取错误码 用WSAGetLastError()

2.linux进行socket编程 获取错误码 用errno

http://www.xdnf.cn/news/3231.html

相关文章:

  • 潇洒郎: 100% 成功搭建Docker私有镜像仓库并管理、删除镜像
  • Pytorch深度学习框架60天进阶学习计划 - 第55天:3D视觉基础(一)
  • 【人工智能】释放本地AI潜能:LM Studio用户脚本自动化DeepSeek的实战指南
  • (A2A Agent通信故障诊断体系)
  • Spring Boot 数据库最佳实践:从自动配置到高性能优化
  • 腾讯云CodeBuddy初体验
  • 从边缘到云端:边缘计算与云计算的协同未来
  • OpenCV-Python (官方)中文教程(部分一)_Day20
  • Elastic Security 8.18 和 9.0 中的新功能
  • Vue 3 动态组件
  • PostgreSQL可串行化快照隔离和冻结处理
  • 农产品园区展示系统——仙盟创梦IDE开发
  • 《PyTorch documentation》(PyTorch 文档)
  • vscode 个性化
  • 通过API网关防御重放攻击:技术方案与实战验证
  • 规划权重和全局优化器逻辑处理
  • 基于C++的IOT网关和平台5:github项目ctGateway开发指南
  • MyBatis的SQL映射文件中,`#`和`$`符号的区别
  • 大数据治理自动化与智能化实践指南:架构、工具与实战方案(含代码)
  • Oracle Bigfile 与 Smallfile 表空间对比分析
  • 打印机脱机状态原因有哪些?打印机脱机状态恢复正常解决方法
  • openEuler 22.03 安装 Nginx,支持离线安装
  • 基于Spring Boot + Vue 项目中引入deepseek方法
  • PostgreSQL事务与并发清理
  • 阿里云服务迁移实战: 06-切换DNS
  • scGPT-spatial:持续预训练scGPT用于空间转录组
  • 【diffusers 进阶之 PEFT 入门(五)】LoRA 权重如何接着训练?踩坑总结和解决方案
  • 在宝塔面板中安装OpenJDK-17的三种方法
  • K8S - 从零构建 Docker 镜像与容器
  • OpenCV 图形API(73)图像与通道拼接函数-----执行 查找表操作图像处理函数LUT()