为了账号安全,请及时绑定邮箱和手机立即绑定

在 proto3 文件中使用 IP 字段(IPV4 或 IPV6)用于 Golang 和 C#

在 proto3 文件中使用 IP 字段(IPV4 或 IPV6)用于 Golang 和 C#

Go
莫回无 2023-07-17 13:52:04
我想在 proto3 消息中使用 IP 字段。我应该使用 proto3 中的哪种类型来表示相同的。该字段将由 Golang 和 C# 实现使用。我应该使用字符串吗?或者 IPV4 为固定 32,IPV6 为字节?message xyz {  string ip_addr = 1;}或者message xyz {    oneof ip_addr{       fixed32 v4 = 1;       bytes v6 = 2;}如果是第二个,那么如何在 Golang 实现中对其进行编码?比如,我应该首先构造一个具有有效 IP 地址的字符串,然后将其转换为固定 32 格式,或者怎么样?
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

如果这里没有性能限制,我会选择字符串。

几乎所有语言都支持从具有标准 ipv4 或 ipv6 表示法的字符串中读取 IP 地址。如果您在固定 32 或字节字段中使用二进制表示形式,则必须找到一种方法将其转换为您使用协议的每种语言。

您可能还想指定它是否始终必须是 IP 地址,或者是否可以使用 DNS 主机名。


查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信