优化websocket服务

This commit is contained in:
boyce
2019-01-28 14:43:13 +08:00
parent 0b97b5f68a
commit ab404c44e1
3 changed files with 46 additions and 14 deletions

View File

@@ -277,9 +277,16 @@ func (server *Server) register(rcvr interface{}, name string, prefix string, use
return errors.New(str)
}
if _, dup := server.serviceMap.LoadOrStore(sname, s); dup {
return errors.New("rpc: service already defined: " + sname)
//将已经注册的消息加载
svci, ok := server.serviceMap.Load(sname)
if ok {
svc := svci.(*service)
for key, value := range svc.method {
s.method[key] = &methodType{method: value.method, ArgType: value.ArgType, ReplyType: value.ReplyType}
}
}
server.serviceMap.Store(sname, s)
return nil
}