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)
|
||
}
|
||
}
|