This commit is contained in:
jiazhizhong
2022-03-10 17:09:03 +08:00
commit 1279635d7f
97 changed files with 10632 additions and 0 deletions

41
pkg/rpc/server.go Normal file
View File

@@ -0,0 +1,41 @@
package rpc
import (
"github.com/iwannay/log"
"net"
"net/rpc"
)
// listen Start rpc server
func listen(addr string, srcvr ...interface{}) error {
var err error
for _, v := range srcvr {
if err = rpc.Register(v); err != nil {
return err
}
}
l, err := net.Listen("tcp4", addr)
if err != nil {
return err
}
defer func() {
log.Info("listen rpc", addr, "close")
if err := l.Close(); err != nil {
log.Infof("listen.Close() error(%v)", err)
}
}()
rpc.Accept(l)
return nil
}
// ListenAndServe run rpc server
func ListenAndServe(addr string, srcvr ...interface{}) {
log.Info("rpc server listen:", addr)
err := listen(addr, srcvr...)
if err != nil {
panic(err)
}
}