12345678910111213141516171819202122232425262728293031323334353637 |
- package go_chat_api_util
- import "context"
- import "github.com/smallnest/rpcx/client"
- var rpcClient client.XClient
- func InitRpc(addr string) error {
- d, err := client.NewPeer2PeerDiscovery("tcp@"+addr, "")
- if err != nil {
- return err
- }
- // 超时设置
- option := client.DefaultOption
- rpcClient = client.NewXClient("crmRpcService", client.Failtry, client.RandomSelect, d, option)
- return nil
- }
- type RespData struct {
- Code int `json:"code"`
- Data interface{} `json:"data"`
- Msg string `json:"msg"`
- }
- func RpcCall(funcName string, body interface{}) (*RespData, error) {
- resp := new(RespData)
- err := rpcClient.Call(context.Background(), funcName, body, resp)
- if err != nil {
- log.Error("funcName:"+funcName, " err:"+err.Error(), " body:", body)
- return resp, err
- }
- return resp, nil
- }
- func CloseRpc() {
- rpcClient.Close()
- }
|