namespace ClientePrueba
{
public partial class Form1 : Form
{
byte[] datosTx = new byte[2048];
string mensaje;
Socket socketCliente = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
public Form1()
{
InitializeComponent();
}
private void btnConectar_Click(object sender, EventArgs e)
{
socketCliente.Connect(txtDireccion.Text, Convert.ToInt16(txtPuerto.Text));
try
{
mensaje = "$Conectado";
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
int cuenta = socketCliente.Receive(datosTx);
mensaje = System.Text.Encoding.ASCII.GetString(datosTx, 0, cuenta);
Console.WriteLine(mensaje);
txtServidor.Text = mensaje;
}
catch (SocketException Error)
{
MessageBox.Show("Excepcion" + Error.Message);
}
}
private void btnHello_Click(object sender, EventArgs e)
{
mensaje = "$Hello$" + txtNombre.Text;
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
datosTx = new byte[1024];
int cuenta = socketCliente.Receive(datosTx);
mensaje = System.Text.Encoding.ASCII.GetString(datosTx, 0, cuenta);
string[] cadena = mensaje.Split('$');
txtServidor.Text = cadena[2];
}
private void btnEcho_Click(object sender, EventArgs e)
{
mensaje = "$Echo$" + txtRepetir.Text;
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
datosTx = new byte[1024];
int cuenta = socketCliente.Receive(datosTx);
mensaje = System.Text.Encoding.ASCII.GetString(datosTx, 0, cuenta);
string[] cadena = mensaje.Split('$');
txtServidor.Text = cadena[2];
}
private void btnDate_Click(object sender, EventArgs e)
{
mensaje = "$Date";
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
datosTx = new byte[1024];
int cuenta = socketCliente.Receive(datosTx);
mensaje = System.Text.Encoding.ASCII.GetString(datosTx, 0, cuenta);
string[] cadena = mensaje.Split('$');
txtServidor.Text = cadena[2];
}
private void btnRandom_Click(object sender, EventArgs e)
{
mensaje = "$Random";
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
datosTx = new byte[1024];
int cuenta = socketCliente.Receive(datosTx);
mensaje = System.Text.Encoding.ASCII.GetString(datosTx, 0, cuenta);
string[] cadena = mensaje.Split('$');
txtServidor.Text = cadena[2];
}
private void btnSalir_Click(object sender, EventArgs e)
{
mensaje = "$Salir";
datosTx = System.Text.Encoding.ASCII.GetBytes(mensaje);
socketCliente.Send(datosTx,
System.Text.Encoding.ASCII.GetByteCount(mensaje),
SocketFlags.None);
string [] cadena = mensaje.Split('$');
txtServidor.Text = cadena[1];
socketCliente.Close();
Application.Exit();
}
}
}
=======================================================================
/*TCP_Servidor
namespace ServidorPrueba
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Uso del servidor...");
byte[] bytes = new byte[1024];
int cuenta;
String data = " ";
IPAddress direccionIP = IPAddress.Parse("127.0.0.1");
IPEndPoint puntoFinal = new IPEndPoint(direccionIP, 12345);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(puntoFinal);
//-1 para q acepte una unica conexion.
socket.Listen(-1);
Socket manipuladorCliente = socket.Accept();
Console.WriteLine("El servidor enlazó el socket...");
try
{
do
{
cuenta = manipuladorCliente.Receive(bytes);
data = System.Text.Encoding.ASCII.GetString(bytes, 0, cuenta);
Console.WriteLine("Mensaje recibido: "+data);
string[] cadena = data.Split('$');
string respuesta = " ";
if (cadena[1] == "Conectado")
{
respuesta = "$Servidor";
Console.WriteLine("Respuesta del servidor: "+ respuesta);
}
else if (cadena[1] == "Hello")
{
respuesta = "$Hello$Bienvenido" + cadena[2];
Console.WriteLine("Respuesta del servidor: " + respuesta);
}
else if (cadena[1] == "Echo")
{
respuesta = "$Echo$" + cadena[2];
Console.WriteLine("Respuesta del servidor: " + respuesta);
}
else if (cadena[1] == "Date")
{
string dia = Convert.ToString(System.DateTime.Now.Day);
string mes = Convert.ToString(System.DateTime.Now.Month);
string anio = Convert.ToString(System.DateTime.Now.Year);
respuesta = "$Date$"+dia+"/"+mes+"/"+anio;
Console.WriteLine("Respuesta del servidor: " + respuesta);
}
else if (cadena[1] == "Random")
{
Random a = new Random();
int numero = Convert.ToInt16(a.Next(0, 101));
respuesta = "$Random$" + numero;
Console.WriteLine("Respuesta del servidor: " + respuesta);
}
//Proceso de los mensajes
bytes = System.Text.Encoding.ASCII.GetBytes(respuesta);
manipuladorCliente.Send(bytes,
System.Text.Encoding.ASCII.GetByteCount(respuesta),
SocketFlags.None);
} while (data != "$Exit");
//Console.WriteLine("Conexion finalizada");
//manipuladorCliente.Shutdown(SocketShutdown.Both);
//manipuladorCliente.Close();
}
catch(Exception ex)
{
Console.WriteLine("Excepcion" + ex.Message);
}
}
}
}
*/
No hay comentarios:
Publicar un comentario