打印系统websocet连接日志

This commit is contained in:
boyce
2019-04-02 15:24:17 +08:00
parent 6c1c700ce7
commit d15681a1fd

View File

@@ -70,6 +70,10 @@ type WebsocketServer struct {
iswss bool iswss bool
} }
const (
MAX_MSG_COUNT = 4096
)
func (slf *WebsocketServer) Init(port uint16) { func (slf *WebsocketServer) Init(port uint16) {
slf.port = port slf.port = port
@@ -80,10 +84,11 @@ func (slf *WebsocketServer) CreateClient(conn *websocket.Conn) *WSClient {
slf.locker.Lock() slf.locker.Lock()
slf.maxClientid++ slf.maxClientid++
clientid := slf.maxClientid clientid := slf.maxClientid
pclient := &WSClient{clientid, conn, make(chan WSMessage, 1024)} pclient := &WSClient{clientid, conn, make(chan WSMessage, MAX_MSG_COUNT)}
slf.mapClient[pclient.clientid] = pclient slf.mapClient[pclient.clientid] = pclient
slf.locker.Unlock() slf.locker.Unlock()
service.GetLogger().Printf(sysmodule.LEVER_INFO, "Client id %d is connected.", clientid)
return pclient return pclient
} }
@@ -94,6 +99,7 @@ func (slf *WebsocketServer) ReleaseClient(pclient *WSClient) {
slf.locker.Unlock() slf.locker.Unlock()
//关闭写管道 //关闭写管道
close(pclient.bwritemsg) close(pclient.bwritemsg)
service.GetLogger().Printf(sysmodule.LEVER_INFO, "Client id %d is disconnected.", pclient.clientid)
} }
func (slf *WebsocketServer) SetupReciver(pattern string, messageReciver IMessageReceiver, bEnableCompression bool) { func (slf *WebsocketServer) SetupReciver(pattern string, messageReciver IMessageReceiver, bEnableCompression bool) {
@@ -157,6 +163,11 @@ func (slf *WebsocketServer) SendMsg(clientid uint64, messageType int, msg []byte
return false return false
} }
if len(value.bwritemsg) >= MAX_MSG_COUNT {
service.GetLogger().Printf(sysmodule.LEVER_ERROR, "message chan is full :%d\n", len(value.bwritemsg))
return false
}
value.bwritemsg <- WSMessage{messageType, msg} value.bwritemsg <- WSMessage{messageType, msg}
return true return true