コード例 #1
0
        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));
            }
        }
コード例 #2
0
ファイル: MQTTSessionManager.cs プロジェクト: pos0637/codec
 protected override void OnReceive(Base.Pipe.Request request, byte[] buffer, int length)
 {
     base.OnReceive(request, buffer, length);
 }