Esempio n. 1
0
        static private void TrataSocketFlash()
        {
            try
            {
                String data = null;

                while (true)
                {
                    byte[] bytes    = new byte[1024];
                    int    bytesRec = flashGame.Receive(bytes);
                    data += Encoding.ASCII.GetString(bytes, 0, bytesRec);

                    if (data.Equals(""))
                    {
                        break;
                    }


                    if (data.IndexOf("EOF") > -1)
                    {
                        // Aqui é verificado o que o flash mandou

                        // Se tivemos algum status do jogo
                        if ((data.IndexOf("ACERTOU") > -1) || (data.IndexOf("ERROU") > -1) || (data.IndexOf("FIM") > -1))
                        {
                            // Preciso enviar informações para a URA
                            EnviaDadosUra(data);
                        }


                        // Se foi uma desconexão
                        if (data.IndexOf("DESCONECTOU") > -1)
                        {
                            break;
                        }


                        // break;
                        data = "";
                    }
                }

                // LogWriter.getLogWriter().GravaLog("Flash Socket closed",LogWriter.getLogWriter().LogOpName);
                flashGame.Shutdown(SocketShutdown.Both);
                flashGame.Close();
            }
            catch (Exception e)
            {
                LogWriter.getLogWriter().GravaLog("Error in flash socket:" + e.ToString(), LogWriter.getLogWriter().LogErrorName);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Set things in motion so your service can do its work.
        /// </summary>
        protected override void OnStart(string[] args)
        {
            this.log = LogWriter.getLogWriter();

            this.log.GravaLog("Log Error File Started", this.log.LogErrorName);
            this.log.GravaLog("Log Operation File Started", this.log.LogOpName);


            try
            {
                t = new Thread(new ThreadStart(StartListening));

                t.Priority = ThreadPriority.Lowest;
                t.Start();
            }
            catch (Exception ex)
            {
                this.log.GravaLog("Erro interno:" + ex.Message, this.log.LogOpName);
            }
        }
Esempio n. 3
0
        static private void TrataSocketUra()
        {
            try
            {
                String data = Thread.CurrentThread.Name;

                data = data + "\0";                  // Deve-se colocar o \0 quando enviar algo para o flash!

                // Enviando para o jogo se o servidor estiver conectado ao jogo
                if (flashGame.Connected)
                {
                    byte[] msg = Encoding.ASCII.GetBytes(data);
                    flashGame.Send(msg, msg.Length, 0);
                }
                else
                {
                    LogWriter.getLogWriter().GravaLog("Cannot send URA data to Flash.", LogWriter.getLogWriter().LogOpName);
                }
            }
            catch (Exception e)
            {
                LogWriter.getLogWriter().GravaLog("Error in URA socket:" + e.ToString(), LogWriter.getLogWriter().LogErrorName);
            }
        }
Esempio n. 4
0
        static void EnviaDadosUra(string dados)
        {
            int    Maquina = 0;
            int    Canal   = 0;
            string NumeroA = "";
            string NumeroB = "";
            string Status  = "";

            XmlTextReader reader;

            try
            {
                reader = new XmlTextReader(dados, XmlNodeType.Element, null);

                reader.WhitespaceHandling = WhitespaceHandling.None;

                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        switch (reader.Name)
                        {
                        case "MAQ":
                            Maquina = int.Parse(reader.ReadString());
                            break;

                        case "CANAL":
                            Canal = int.Parse(reader.ReadString());
                            break;

                        case "NUMA":
                            NumeroA = reader.ReadString();
                            break;

                        case "NUMB":
                            NumeroB = reader.ReadString();
                            break;

                        case "STATUS":
                            Status = reader.ReadString();
                            break;
                        }
                    }
                }

                if (reader != null)
                {
                    reader.Close();
                }

                // SqlConnection con1 = new SqlConnection("Server=200.212.36.130;Database=Talk;User id=sa;Password=milano4081;Pooling=false");
                // SqlConnection con1 = new SqlConnection("Server=192.168.1.102;Database=Talk;User id=sa;Password=talk;Pooling=false");
                SqlConnection con1 = new SqlConnection("Server=192.168.3.101;Database=Talk;User id=sa;Password=milano4081;Pooling=false");
                con1.Open();

                SqlCommand sqlcmdGravaURA = new SqlCommand();

                sqlcmdGravaURA.Connection  = con1;
                sqlcmdGravaURA.CommandType = System.Data.CommandType.Text;

                sqlcmdGravaURA.CommandText  = "UPDATE TB_URA_GAMES SET ";
                sqlcmdGravaURA.CommandText += " FLAG='" + Status.Substring(0, 1) + "'";

                sqlcmdGravaURA.CommandText += " WHERE MAQ =  " + Maquina.ToString();
                sqlcmdGravaURA.CommandText += " AND CANAL = " + Canal.ToString();
                sqlcmdGravaURA.CommandText += " AND NUMA = '" + NumeroA + "'";
                sqlcmdGravaURA.CommandText += " AND NUMB = '" + NumeroB + "'";

                sqlcmdGravaURA.ExecuteNonQuery();
            }
            catch (Exception eX)
            {
                LogWriter.getLogWriter().GravaLog("Error in XML:" + eX.ToString(), LogWriter.getLogWriter().LogErrorName);
            }
        }