diff --git a/network/tcpsocketserver.go b/network/tcpsocketserver.go index 55a54aa..1caebd4 100644 --- a/network/tcpsocketserver.go +++ b/network/tcpsocketserver.go @@ -115,6 +115,16 @@ func (slf *TcpSocketServer) listenServer(){ } } +func (slf *TcpSocketServer) Close(clientid uint64) error { + pClient := slf.mapClient.Get(clientid) + if pClient == nil { + return fmt.Errorf("clientid %d is not in connect pool.",clientid) + } + + pClient.(*SClient).Close() + return nil +} + func (slf *TcpSocketServer) SendMsg(clientid uint64,packtype uint16,message proto.Message) error{ pClient := slf.mapClient.Get(clientid) if pClient == nil { diff --git a/sysservice/tcpsocketpbservice.go b/sysservice/tcpsocketpbservice.go index 0782c34..15a1e97 100644 --- a/sysservice/tcpsocketpbservice.go +++ b/sysservice/tcpsocketpbservice.go @@ -153,4 +153,10 @@ func GetTcpSocketPbService(serviceName string) *TcpSocketPbService{ func (slf *TcpSocketPbService) SendMsg(clientid uint64,packtype uint16,message proto.Message) error{ return slf.tcpsocketserver.SendMsg(clientid,packtype,message) -} \ No newline at end of file +} + +func (slf *TcpSocketPbService) Close(clientid uint64) error{ + return slf.tcpsocketserver.Close(clientid) +} + +