1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
String ExcepcionOcurrida = "-----Excepcion";
int m_TimeOutEnvio = 0;
int m_TimeOutRecepcion = 0;
String[] Tramas={"SALUT SALUT"};
StringBuilder TraceComunicacion = new StringBuilder();
String[] respuestas = new String[Tramas.Length];
Socket cliente = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Tcp);
cliente.ReceiveTimeout = 10000; //10sec
cliente.SendTimeout = 10000; //10sec
TraceComunicacion.AppendLine("----Abriendo canal de comunicacion");
int indice = 0;
byte[] ipBytes= {0x7f,0x00,0x00,0x01};
IPAddress serverAddress= new IPAddress(ipBytes);
Console.WriteLine(serverAddress.ToString());
cliente.Connect(serverAddress, 8010);
foreach (String actual in Tramas)
{
Byte[] data;
//NetworkStream ns_IODatos = cliente.GetStream();
String RespuestaActual = String.Empty;
TraceComunicacion.AppendLine("----Enviando Trama: " + actual);
try
{
int longitud;
data = Encoding.ASCII.GetBytes(actual);
longitud = data.Length;
// Console.WriteLine("data.Length" + (string)data.Length.ToString() + Encoding.ASCII.GetString(data, 0, data.Length));
cliente.Send(data, 0, data.Length,SocketFlags.None);
//ns_IODatos.Write(data, 0, longitud);
TraceComunicacion.AppendLine("----Bytes enviados: " + longitud);
TraceComunicacion.AppendLine("----Inicia Recepcion");
// System.Threading.Thread.Sleep(100);
//Longitud de la respuesta
data = new Byte[4];
TraceComunicacion.AppendLine("----Convirtiendo longitud");
data = new Byte[2048];
int receivedBytesNumber = cliente.Receive(data, 0, SocketFlags.None);
//receivedBytesNumber = ns_IODatos.Read(data, 0, data.Length);
RespuestaActual = Encoding.ASCII.GetString(data, 0, receivedBytesNumber);
TraceComunicacion.AppendLine("----Recibiendo respuesta: " + RespuestaActual); |
Partager