コード例 #1
0
        private bool ProcessConnectedTextMessageAsync(string token, TypeofJsonMessage jsonMessage, System.Web.Script.Serialization.JavaScriptSerializer jss)
        {
            WebSocketClient session;

            session = getYarn(token);
            if (session == null)
            {
                _is_connected = false; _connected_connection_token = null;
                onUpDateStatus.Invoke(this, _ct);
                return(false);
            }
            if (session._is_client)
            {
                session._is_connected = true;
                session._connected_connection_token = _token;
            }
            sendTextMessageAsync.Invoke(session, jss.Serialize(new {
                token            = _token,
                connection_token = _connection_token,
                status           = jsonMessage.task_type,
                message          = _message.ToString(),
            }), _ct);
            _message.Clear();
            return(true);
        }
コード例 #2
0
 private bool ProcessTextMessageAsync(TypeofJsonMessage jsonMessage, System.Web.Script.Serialization.JavaScriptSerializer jss)
 {
     if (jsonMessage.task_type == TaskType.OFFLINE)
     {
         _isOnLine = false;
         onChangeStatus.Invoke(this, TaskType.OFFLINE, _ct);
         return(true);
     }
     if (jsonMessage.task_type == TaskType.ONLINE)
     {
         _isOnLine = true;
         onChangeStatus.Invoke(this, TaskType.ONLINE, _ct);
         return(true);
     }
     if (jsonMessage.task_type != TaskType.SEND_MESSAGE)
     {
         return(true);
     }
     if (jsonMessage.is_chat_content)
     {
         if (!_chat_enable)
         {
             return(false);
         }
         if (!_connection.Exists(a => a == jsonMessage.connection_token))
         {
             _connection.Add(jsonMessage.connection_token);
         }
         ;
         return(ProcessConnectedTextMessageAsync(jsonMessage.connection_token, jsonMessage, jss));
     }
     _message.Append(jsonMessage.message);
     if (_is_connected)
     {
         if (!_is_client)
         {
             if (!_connection.Exists(a => a == jsonMessage.connection_token))
             {
                 _connection.Add(jsonMessage.connection_token);
             }
             ;
         }
         ProcessConnectedTextMessageAsync(_connected_connection_token, jsonMessage, jss);
         return(true);
     }
     if (_is_virtual_assistant)
     {
         if (!_connection.Exists(a => a == jsonMessage.connection_token))
         {
             _connection.Add(jsonMessage.connection_token);
             //_connected_connection_token = jsonMessage.connection_token;
         }
         ;
         //_connection.Add(jsonMessage.connection_token);
         return(ProcessConnectedTextMessageAsync(jsonMessage.connection_token, jsonMessage, jss));
     }
     sendToAllStaffAsync.Invoke(jss.Serialize(new {
         token            = _token,
         connection_token = _connection_token,
         status           = jsonMessage.task_type,
         message          = jsonMessage.message
     }), _ct);
     return(true);
 }