server.go 624 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. "context"
  4. "flag"
  5. "fmt"
  6. "github.com/smallnest/rpcx/server"
  7. )
  8. var (
  9. addr = flag.String("addr", "localhost:8972", "server address")
  10. )
  11. type Args struct {
  12. A int
  13. B int
  14. }
  15. type Reply struct {
  16. C int
  17. }
  18. type Arith struct{}
  19. // the second parameter is not a pointer
  20. func (t *Arith) Mul(ctx context.Context, args Args, reply *Reply) error {
  21. reply.C = args.A * args.B
  22. fmt.Println("C=", reply.C)
  23. return nil
  24. }
  25. func main() {
  26. flag.Parse()
  27. s := server.NewServer()
  28. //s.Register(new(Arith), "")
  29. s.RegisterName("Arith", new(Arith), "")
  30. err := s.Serve("tcp", *addr)
  31. if err != nil {
  32. panic(err)
  33. }
  34. }