Пример #1
0
        private void traiterMessageRequete(Message msg)
        {
            // Si Destinataires = null, le message s'adresse au monde.
            if (msg.Destinataires == null)
            {
                TypeRequete typeRequete = (TypeRequete)msg.Contenu[0];

                if (typeRequete == TypeRequete.GenererAgents)
                {
                    this.genererAgents((int)msg.Contenu[1], (Type)msg.Contenu[2]);
                }
                //this.test((int)msg.Contenu[0]);
            }
        }
Пример #2
0
        private static object ModeConnecte(TypeRequete tRequete, string sql)
        {
            // SqlConnection
            var cnx = new SqlConnection();

            cnx.ConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=AdventureWorks2016;Integrated Security=True";
            cnx.Open();

            // SqlCommand
            var cmd = new SqlCommand();

            cmd.Connection  = cnx;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = sql;
            switch (tRequete)
            {
            case TypeRequete.Select:
                SqlDataReader rd = cmd.ExecuteReader();
                // Affichage
                while (rd.Read())
                {
                    Console.WriteLine("{0} - {1} - {2}", rd["BusinessEntityID"], rd["FirstName"], rd["LastName"]);
                }
                rd.Close();     // IMPORTANT !
                break;

            case TypeRequete.Insert:
            case TypeRequete.Update:
            case TypeRequete.Delete:
                cmd.ExecuteNonQuery();
                break;

            case TypeRequete.Scalar:
                return(cmd.ExecuteScalar());

            default: throw new Exception("Program.ModeConnecte.42");
            }

            return(null);
        }
Пример #3
0
        public RetourRequete SocketSendReceive(TypeRequete requete, object ObjetAEnvoyer = null, bool position = false)
        {
            string MonJson   = "";
            object MonObject = null;

            DataAEnvoyer = ObjetAEnvoyer;

            string MaRequeteString = GetRequete(requete);

            MonJson = GetRetour(MaRequeteString);


            if (MonJson.Contains('{'))
            {
                int Index    = MonJson.IndexOf('{');
                int IndexFin = (MonJson.LastIndexOf('}') + 1);

                string chaine = MonJson.Substring(Index, IndexFin - Index);
                chaine = chaine.Replace(@"\\", string.Empty);

                if (position)
                {
                    MonObject = JsonConvert.DeserializeObject <DataPosition>(chaine);
                }
                else if (requete == TypeRequete.Ping)
                {
                    MonObject = JsonConvert.DeserializeObject <Ping>(chaine);
                }
                else
                {
                    MonObject = JsonConvert.DeserializeObject <Data>(chaine);
                }
            }
            else if (MonJson.Contains("TimeOut") || MonJson.Contains("500 Server error") || MonJson.Contains("504 Gateway Timeout") || MonJson.Contains("503 Service Temporarily Unavailable") || MonJson.Contains("408 Request Time-out"))
            {
                return(new RetourRequete(MonJson));
            }

            return(new RetourRequete(MonObject, MonJson));
        }
Пример #4
0
        public bool ModeConnecte(TypeRequete tRequete, string sql)
        {
            Cmd.CommandText = sql;
            switch (tRequete)
            {
            case TypeRequete.Select: return(false);

            case TypeRequete.Update:
            case TypeRequete.Insert:
            case TypeRequete.Delete:
                try
                {
                    Cmd.ExecuteNonQuery();
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }

            default: throw new Exception("Program.ModeConnecte");
            }
        }
Пример #5
0
        private string GetRequete(TypeRequete type)
        {
            //HttpRequestMessage request = new HttpRequestMessage();

            string requete = "";

            switch (type)
            {
            case TypeRequete.Ping:
                requete = "GET /PTRE839/pings?k=262166&t0=" + GetUnixNow();
                break;

            case TypeRequete.RequestMessage:
                requete = "GET /PTRE839/msgs?k=" + GetKey() + "&timeout=5";
                break;

            case TypeRequete.SendMessage:
                requete = "POST /PTRE839/msgs?k=" + GetKey() + "&to=" + GetKeyJ2() + "&data=" + RetourneJsonMessage(DataAEnvoyer).Replace(" ", "%20");
                break;

            case TypeRequete.clear:
                requete = "DELETE /PTRE839/players/" + GetKey() + "?k=262166";
                break;

            case TypeRequete.clearAutre:
                requete = "DELETE /PTRE839/players/" + GetKeyJ2() + "?k=262166";
                break;

            default:
                requete = "ERROR";
                break;
            }
            requete += " HTTP/1.1\r\nHost: " + Host + "\r\nContent-Length: 0\r\n\r\n";
            //request.RequestUri = new Uri(requete);
            return(requete);
        }