咨询下rpc.Dial("tcp", "127.0.0.1:1899")
conn.Call()
这个如何弄超时呢, Call调有时候对方不存在或则无法连接 要等好久才返回错误。想自己控制时间返回
```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