rpc-sample/main.go

37 lines
643 B
Go
Raw Permalink Normal View History

2021-09-18 08:56:04 +00:00
package main
import (
2021-09-18 09:02:54 +00:00
"log"
"net"
2021-09-18 08:56:04 +00:00
"net/rpc"
2021-09-18 09:02:54 +00:00
"strings"
2021-09-18 08:56:04 +00:00
"myschools.me/suguo/rpc-sample/server"
)
func main() {
2021-09-18 09:02:54 +00:00
// rpc.HandleHTTP()
// err := http.ListenAndServe(":1234", nil)
// if err != nil {
// fmt.Println(err.Error())
// }
defer func() {
err := recover()
if err == nil {
log.Fatal("no error")
}
if !strings.Contains(err.(error).Error(), "reading body EOF") {
log.Fatal("expected `reading body EOF', got", err)
}
}()
2021-09-18 08:56:04 +00:00
rpc.Register(&server.Hello{})
2021-09-18 09:02:54 +00:00
listen, err := net.Listen("tcp", "127.0.0.1:1234") //端口为0表示任意端口
2021-09-18 08:56:04 +00:00
if err != nil {
2021-09-18 09:02:54 +00:00
panic(err)
2021-09-18 08:56:04 +00:00
}
2021-09-18 09:02:54 +00:00
defer listen.Close()
rpc.Accept(listen)
2021-09-18 08:56:04 +00:00
}