在C++中,ICMP(Internet Control Message Protocol)错误通常与网络编程和套接字操作有关
- ICMP_ECHOREPLY: 类型8,代码0。表示一个回显应答消息。
- ICMP_DEST_UNREACH: 类型3,代码各种。表示目标不可达的错误消息。这里的代码值用于区分不同的错误原因,例如:
- 代码0:网络不可达
- 代码1:主机不可达
- 代码2:协议不可达
- 代码3:端口不可达
- 代码4:需要分片但DF位被设置
- 代码5:源路由失败
- 代码6:目标网络未知
- 代码7:目标主机未知
- 代码8:源主机隔离
- 代码9:通信管理员禁止
- 代码10:主机预先阻止
- 代码11:主机预先阻止
- 代码12:主机预先阻止
- 代码13:需要更高的MTU
- ICMP_SOURCE_QUENCH: 类型4,代码0。表示源节点拥塞的错误消息。
- ICMP_REDIRECT: 类型5,代码各种。表示重定向消息。这里的代码值用于区分不同的重定向类型,例如:
- 代码0:重定向到网络
- 代码1:重定向到主机
- 代码2:重定向到TOS和网络
- 代码3:重定向到TOS和主机
- ICMP_ECHO: 类型8,代码0。表示一个回显请求消息。
- ICMP_TIME_EXCEEDED: 类型11,代码各种。表示超时错误消息。这里的代码值用于区分不同的超时类型,例如:
- ICMP_PARAMETERPROB: 类型12,代码0。表示参数问题错误消息。
- ICMP_TIMESTAMP: 类型13,代码0。表示时间戳请求消息。
- ICMP_TIMESTAMPREPLY: 类型14,代码0。表示时间戳应答消息。
- ICMP_INFO_REQUEST: 类型15,代码0。表示信息请求消息。
- ICMP_INFO_REPLY: 类型16,代码0。表示信息应答消息。
- ICMP_ADDRESS: 类型17,代码0。表示地址掩码请求消息。
- ICMP_ADDRESSREPLY: 类型18,代码0。表示地址掩码应答消息。
注意:这些错误代码可能会根据操作系统和网络库的实现而有所不同。在使用ICMP错误代码时,建议查阅相关文档以获取准确的信息。