39 lines
804 B
Go
39 lines
804 B
Go
|
|
/************************************************************
|
|||
|
|
** @Description: service
|
|||
|
|
** @Author: george hao
|
|||
|
|
** @Date: 2019-06-26 15:27
|
|||
|
|
** @Last Modified by: george hao
|
|||
|
|
** @Last Modified time: 2019-06-26 15:27
|
|||
|
|
*************************************************************/
|
|||
|
|
package server
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"net"
|
|||
|
|
"net/rpc"
|
|||
|
|
"net/rpc/jsonrpc"
|
|||
|
|
"strconv"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
//初始化路由
|
|||
|
|
func init() {
|
|||
|
|
rpc.RegisterName("RpcTask", new(RpcTask))
|
|||
|
|
rpc.RegisterName("HeartBeat", new(RpcTask))
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func RpcRun() error {
|
|||
|
|
|
|||
|
|
listener, err := net.Listen("tcp", ":"+strconv.Itoa(C.TcpPort))
|
|||
|
|
if err != nil {
|
|||
|
|
return err
|
|||
|
|
}
|
|||
|
|
for {
|
|||
|
|
conn, err := listener.Accept()
|
|||
|
|
if err != nil {
|
|||
|
|
return err
|
|||
|
|
}
|
|||
|
|
//注意ServerCodec是个方法,不是接口
|
|||
|
|
go rpc.ServeCodec(jsonrpc.NewServerCodec(conn))
|
|||
|
|
//go rpc.ServeConn(conn)
|
|||
|
|
}
|
|||
|
|
}
|