protected virtual void OnReceive(Base.Pipe.Request request, byte[] buffer, int length) { const int headerLength = SessionPipe.SESSION_ID_LENGTH; if (length < headerLength) { return; } // 判断会话索引是否存在 var sessionId = Encoding.UTF8.GetString(buffer.SubArray(0, SessionPipe.SESSION_ID_LENGTH)); var pipe = GetSession(sessionId); if (pipe != null) { // 调用对应会话 pipe.InjectReceiveData(request, buffer, length); } else { // 添加会话 sessionId = GenerateSessionId(); AddSession(sessionId, OnNewSession(request.clientId, sessionId)); } }
protected override void OnReceive(Base.Pipe.Request request, byte[] buffer, int length) { base.OnReceive(request, buffer, length); }