37 lines
643 B
Go
37 lines
643 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"net"
|
|
"net/rpc"
|
|
"strings"
|
|
|
|
"myschools.me/suguo/rpc-sample/server"
|
|
)
|
|
|
|
func main() {
|
|
// 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)
|
|
}
|
|
}()
|
|
|
|
rpc.Register(&server.Hello{})
|
|
|
|
listen, err := net.Listen("tcp", "127.0.0.1:1234") //端口为0表示任意端口
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
defer listen.Close()
|
|
rpc.Accept(listen)
|
|
}
|