什么是 rpc 网络地址?
Posted
技术标签:
【中文标题】什么是 rpc 网络地址?【英文标题】:What is an rpc network address? 【发布时间】:2020-08-10 11:22:04 【问题描述】:我正在尝试使用 random.org 在我的 go 程序中生成随机数。看来我需要建立一个json-rpc连接,所以我尝试使用jsonrpc.Dial(network, adress)
的方法。所有 api 说的是我需要调用 https://api.random.org/json-rpc/2/invoke
;我应该使用什么作为网络(以及什么是网络)?
【问题讨论】:
【参考方案1】:如果您查看the source code 中的jsonrpc.Dial
,您会看到network
参数直接传递给net.Dial
,其godoc 解释说:
已知网络有“tcp”、“tcp4”(仅限 IPv4)、“tcp6”(仅限 IPv6)、“udp”、“udp4”(仅限 IPv4)、“udp6”(仅限 IPv6)、 “ip”、“ip4”(仅限 IPv4)、“ip6”(仅限 IPv6)、“unix”、“unixgram”和“unixpacket”。
【讨论】:
那么我应该使用哪一个?我不太了解网络,抱歉。我已经尝试过jsonrpc.Dial("tpc", "api.random.org/json-rpc/2/invoke:https")
,但似乎没有任何变化,所有这些都导致panic: dial tcp: lookup api.random.org/json-rpc/2/invoke: no such host
@lolad,将Dial("tcp", "api.random.org:443")
用于 HTTPS。 api.random.org/json-rpc/2/invoke
不是有效的主机名。
谢谢,现在看来至少可以通过了,但是你能解释一下 443 吗?并且还丢弃了json-rpc/2/invoke
,这些方法肯定不会正常工作吗?
443 是 HTTPS 的端口。您可能需要阅读一些有关 HTTP 的基本知识。我们无法真正为您提供关于 SO 上 cmets(或答案)中 IP 和 HTTP 基础知识的完整入门。以上是关于什么是 rpc 网络地址?的主要内容,如果未能解决你的问题,请参考以下文章