【问题标题】:What is an rpc network address?什么是 rpc 网络地址?
【发布时间】:2020-08-10 11:22:04
【问题描述】:

我正在尝试使用 random.org 在我的 go 程序中生成随机数。看来我需要建立一个json-rpc连接,所以我尝试使用jsonrpc.Dial(network, adress)的方法。所有 api 说的是我需要调用 https://api.random.org/json-rpc/2/invoke;我应该使用什么作为网络(以及什么是网络)?

【问题讨论】:

    标签: go json-rpc


    【解决方案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 基础知识的完整入门。
    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2018-08-16
    • 1970-01-01
    • 2015-04-23
    • 2019-02-03
    • 2019-06-01
    相关资源
    最近更新 更多