rpccall.go 943 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package p
  2. import (
  3. "encoding/json"
  4. "net/rpc"
  5. "sync"
  6. util "app.yhyue.com/moapp/jybase/common"
  7. "app.yhyue.com/moapp/jybase/logger"
  8. )
  9. //
  10. func SendPcHelper(address string, m map[string]interface{}) bool {
  11. defer util.Catch()
  12. var repl string
  13. client, err := rpc.DialHTTP("tcp", address)
  14. if err != nil {
  15. logger.Error(err.Error())
  16. return false
  17. }
  18. defer client.Close()
  19. b, _ := json.Marshal(m)
  20. err = client.Call("Service.PushMsg", b, &repl)
  21. if err != nil {
  22. logger.Error(err.Error())
  23. return false
  24. }
  25. return repl == "y"
  26. }
  27. //
  28. func LoadPcHelperAllOnLine(address string, r *sync.Map) int {
  29. defer util.Catch()
  30. var repl []string
  31. client, err := rpc.DialHTTP("tcp", address)
  32. if err != nil {
  33. logger.Error(err.Error())
  34. return 0
  35. }
  36. defer client.Close()
  37. err = client.Call("Service.AllOnLine", "", &repl)
  38. if err != nil {
  39. logger.Error(err.Error())
  40. return 0
  41. }
  42. for _, v := range repl {
  43. r.Store(v, true)
  44. }
  45. return len(repl)
  46. }