Beispiel #1
0
    /// <summary>
    /// Process querying dangmu.
    /// </summary>
    public void DangmuQuery()
    {
        if (null == NetWorkManager.Instance.socket.MessageRepsonseEvent)             //wait for all the time...
        {
            Log.error(this, "DangmuQuery############服务器没有响应!");
            return;
        }

        //response get...
        //for to unserizlized
        JsonData _jsonObect = JsonMapper.ToObject(NetWorkManager.Instance.socket.MessageRepsonseEvent.Data);

        if (null == _jsonObect)
        {
            Log.error(this, "DangmuQuery#################null == _jsonObect!");
            return;
        }

        /*
         * Packet packet = decoder.Decode(e);*/
        //目前无法区分消息类型....
        DangmuTextRsp textRsp = new DangmuTextRsp();

        if (false == textRsp.ParseJsonObject(_jsonObect))
        {
            Log.info(this, "DangmuQuery#################ParseJsonObject no data!");
            return;
        }

        //TODO: lastid更新完内容还是没有....
        if (LoginMgr.IndexId < textRsp.lastId)
        {
            LoginMgr.IndexId = textRsp.lastId;
        }

        //insert data into  dangmu..
        foreach (DangmuTextRsp.DangmuTextData initData in textRsp.dataList)
        {
            DangmuViewDataConveter dataConv = new DangmuViewDataConveter(initData);

            //insert derectly....
            //if ( true == DangmuTextController.Instance.Displayer.Enable )
            //DangmuTextController.Instance.enqueueToDataQueue( dataConv );

            if (true == VerticalTextController.Instance.Displayer.Enable)
            {
                VerticalTextController.Instance.enqueueToDataQueue(dataConv);
            }
        }
    }
Beispiel #2
0
    /// <summary>
    /// Raises the message event.
    /// uniform asyncronzilly interface, call-back...
    /// </summary>
    /// <param name="sender">Sender.</param>
    /// <param name="e">E.</param>
    protected void OnMessage(object sender, WebSocketSharp.MessageEventArgs e)
    {
                #if SOCKET_IO_DEBUG
        debugMethod.Invoke("[SocketIO] Raw message: " + e.Data);
                #endif
        Debug.Log("[SocketIO] OnMessage e.Data: " + e.Data);
        hs.MessageRepsonseEvent = null;
        hs.IsSyncHttpDone       = true;

        //for to unserizlized
        JsonData _jsonObect = JsonMapper.ToObject(e.Data);
        if (null == _jsonObect)
        {
            Log.error("NetWorkManager", "OnMessage#################null == _jsonObect!");
            return;
        }

        /*
         *              Packet packet = decoder.Decode(e);*/
        //直接构造DangmuViewDataConveter...
        //目前无法区分消息类型....
        DangmuTextRsp textRsp = new DangmuTextRsp();
        if (false == textRsp.ParseJsonObject(_jsonObect))
        {
            Log.error("NetWorkManager", "OnMessage#################ParseJsonObject failed!");
            return;
        }

        if (textRsp.dataList.Count <= 0)
        {
            Log.debug("NetWorkManager", "OnMessage#################No new message!");
            return;
        }

        foreach (DangmuTextRsp.DangmuTextData textData in textRsp.dataList)
        {
            DangmuViewDataConveter dataConv = new DangmuViewDataConveter(textData);

            //insert derectly....
            //SCMainWinController.Instance().DangmuControl.enqueueToDataQueue( dataConv );
        }

        //null to do...
    }