rpc.go 530 B

123456789101112131415161718192021222324252627282930313233
  1. package receiver
  2. import (
  3. "log"
  4. "net"
  5. "net/rpc"
  6. "net/rpc/jsonrpc"
  7. "github.com/710leo/urlooker/modules/alarm/g"
  8. )
  9. func Start() {
  10. addr := g.Config.Rpc.Listen
  11. server := rpc.NewServer()
  12. server.Register(new(Alarm))
  13. l, e := net.Listen("tcp", addr)
  14. if e != nil {
  15. log.Fatalln("listen occur error", e)
  16. } else {
  17. log.Println("listen on..", addr)
  18. }
  19. for {
  20. conn, err := l.Accept()
  21. if err != nil {
  22. log.Println("listener accept error:", err)
  23. continue
  24. }
  25. go server.ServeCodec(jsonrpc.NewServerCodec(conn))
  26. }
  27. }