咨询下rpc.Dial("tcp", "127.0.0.1:1899")

hellsam · · 634 次点击
```go // Dial connects to an RPC server at the specified network address. func Dial(network, address string) (*Client, error) { conn, err := net.Dial(network, address) if err != nil { return nil, err } return NewClient(conn), nil } ``` 这是go标准库提供的Dial源码,确实没有办法传超时时间,但是实现非常简单,所以稍微改造一下就能控制超时, 自己写一个Dial的方法如下: ```go func DialWithTimeout(network, address string, timeout time.Duration) (*rpc.Client, error) { conn, err := net.DialTimeout(network, address, timeout) if err != nil { return nil, err } return rpc.NewClient(conn), nil } ```
#1