//Agregar
using System.IO;
using System.Net.Sockets;
using System.Net;
namespace ClienteUDP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
byte[] bufferRx;
string datosRx = "";
string mensaje = "";
byte[] bufferTx;
UdpClient cliente = new UdpClient();
private void btnCOnectar_Click(object sender, EventArgs e)
{
IPAddress direccionIp = IPAddress.Parse(txtDireccion.Text);
int puerto = Convert.ToInt32(txtPuerto.Text);
//Envia el mensaje
IPEndPoint puntoFinal = new IPEndPoint(direccionIp, puerto);
mensaje = "$Conectado";
if (mensaje.Length != 0)
{
bufferTx = Encoding.ASCII.GetBytes(mensaje);
cliente.Send(bufferTx, bufferTx.Length, puntoFinal);
}
//Recibir los datos del servidor
bufferRx = cliente.Receive(ref puntoFinal);
datosRx = Encoding.ASCII.GetString(bufferRx, 0, bufferRx.Length);
string[] cadena = datosRx.Split('$');
lblMensaje.Text = cadena[1];
txtRecibir.Text= cadena[2];
}
}
}
*/
==================================================================
/* ServidorUDP
//Agreagr
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace ServidorUDP
{
class Program
{
//private const int puertoEscucha = 12345;
static void Main(string[] args)
{
bool terminado = false;
int puertoEscucha = 12345;
byte[] bufferRx;
string datosRx = "";
string datosTx = "";
byte[] bufferTx;
UdpClient servidor = new UdpClient(puertoEscucha);
IPAddress direccionIp = IPAddress.Parse("127.0.0.1");
IPEndPoint sitioRemoto = new IPEndPoint(direccionIp, puertoEscucha);
Console.WriteLine("Empezando la comunicacion...");
while (!terminado)
{
Console.WriteLine("Esperando por mensaje");
//Recibe del cliente
bufferRx = servidor.Receive(ref sitioRemoto);
Console.WriteLine("Se recibio un mensaje de " + sitioRemoto);
datosRx = Encoding.ASCII.GetString(bufferRx, 0, bufferRx.Length);
string[] cadena = datosRx.Split('$');
Console.WriteLine("Servidor recibio: " + cadena[1]);
if (cadena[1] == "Conectado")
{
Random random = new Random();
int numAleatorio = random.Next(0,101);
datosTx = "$Envie Datos$" + numAleatorio;
Console.WriteLine("El mensaje enviado es: " + datosTx);
}
bufferTx = Encoding.ASCII.GetBytes(datosTx);
servidor.Send(bufferTx, bufferTx.Length, sitioRemoto);
}
}
}
}
No hay comentarios:
Publicar un comentario