C# tcp listener modo consola


Acá va un ejemplo sencillo de un tcplistener  en C# modo consola a pedido de Matias – el negro 🙂

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;

namespace tcplistener_console
{
    class Program
    {
        static int Main(string[] args)
        {
            Console.Write(“tcplistener by hvivani – 20110225 – para el negro: \r\n”);
            if (args.Length == 0)
            {
                System.Console.WriteLine(“Parametros: Puerto IP   \r\n”);
                System.Console.WriteLine(“Ejemplo: tcplistener 2525 127.0.0.1  \r\n”);
                System.Console.WriteLine(“si tenes mas de una interfaz de red, usa la ip de dicha interfaz.  \r\n”);
                return 1;
            }

            TcpListener server = null;
            // Set the TcpListener on port.
            Int32 port = int.Parse(args[0]);
            IPAddress localAddr = IPAddress.Parse(args[1]);

            // TcpListener server = new TcpListener(port);
            server = new TcpListener(localAddr, port);

            // Start listening for client requests.
            server.Start();

            // Buffer for reading data
            Byte[] bytes = new Byte[256];
            String data = null;

            // Enter the listening loop.
            while (true)
            {
                Console.Write(“Waiting for a connection… “);

                // Perform a blocking call to accept requests.
                // You could also user server.AcceptSocket() here.
                TcpClient client = server.AcceptTcpClient();
                Console.WriteLine(“Connected!”);

                data = null;

                // Get a stream object for reading and writing
                NetworkStream stream = client.GetStream();

                int i;

                // Loop to receive all the data sent by the client.
                while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
                {
                    // Translate data bytes to a ASCII string.
                    data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
                    Console.WriteLine(“Received: {0}”, data);

                    // Process the data sent by the client.
                    data = data.ToUpper();

                    byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);

                    // Send back a response.
                    //stream.Write(msg, 0, msg.Length);
                    //Console.WriteLine(“Sent: {0}”, data);
                }

                // Shutdown and end connection
                client.Close();
                }

        } 
    }
}

Ejecutar SQL Server Stored Procedures desde PHP bajo Linux


Tratando de ejecutar Stored Procedures existentes en una base de datos SQL Server desde PHP bajo Linux, me encontré con el problema de que al querer ejecutar un stored procedure simple, sin parámetros, obtenía siempre el mismo error: “stored procedure execution failed”.
La sentencia de llamada era muy simple:

$conn = mssql_connect($host, $user, $pass);
mssql_select_db(‘nombredb’, $conn);
$proc = mssql_init(‘nombre_proc’, $conn);
$proc_result = mssql_execute($proc);

La solución es hacer una declaración explícita de los datos del servidor SQL Server en el archivo /etc/freetds.org de la siguiente manera:
[servidor]
        host =xxx.xxx.xxx.xxx
        port = 1433
        tds version = 8.0

Leer archivos de texto desde Flash


La manera de leer contenido de archivos de texto para embeber dentro de un flash es utilizando la función loadVariables().

Dentro de los archivos de texto se escriben párrafos, con un nombre de variable. De esta manera, al definir en el flash el mismo nombre de variable para un campo de texto dinámico, es posible cargar el texto desde los archivos sin modificar el flash.

Manos a la obra:

1) Creamos un archivo test.txt con el siguiente contenido:
&texto=este texto se mostrara en el campo de texto dinamico que tenga definido el nombre de variable texto &

la variable se llama “texto” y se colocan “&” al inicio y final del uso de dicha varaible.

2) En el flash agregamos un campo de texto dinámico y le ponemos como nombre de variable “texto”.
3) Nos situamos en el primer frame del flash y agregamos lo siguiente:
loadVariablesNum(“test.txt”,0);

Esta es la ruta del archivo a leer. En este caso está en el mismo directorio que el flash, pero podemos ponerle el path completo del dominio: http://www.dominio.com/test.txt

0 es el nivel de carga. Si queremos que se cargue en _root, debemos colocar “_root”.

Con esto ya podemos cargar el contenido de los archivos de texto en nuestro flash sin necesidad de modificarlo.

IMPORTANTE: Un problema con el que me choqué fué que al cargar el texto, no me mostraba los caracteres especiales o acentuados.
Para que el flash muestre correctamente estos caracteres, el archivo de texto debe ser guardado en formato UTF-8. Normalmente los archivos de texto son guardados en ANSI y en este formato no son reconocidos estos caracteres.