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.