Hola, tengo una confusion grande en la cabeza
, quizas es el cansancio...
Lo que pasa es que hice un codigo para mandar un mensaje por sockets, es así:
public void Manden(string mensaje)
{
byte[] message = System.Text.Encoding.ASCII.GetBytes(mensaje);
TcpListener listener;
try
{
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
TcpListener listener = new TcpListener(localAddr, 5545);
listener.Start();
}
catch (Exception ex) { }//jeje :P
Socket handler = listener.AcceptSocket();
handler.Send(message);
}
Luego, hago uno para recibir, pero tendria que abrir otro socket... y no me gustaria, seria posible segun yo usar el mismo, dejando un clase con el socket abierto y luego hacer 1 metodo que sea mandar y otro recibir. A la hora de organizar ese codigo me confundi entero y me bloquie... estoy muy cansado, ojalá alguien me pueda ayudar en esto.
Ahora se me ocurrio hacerlo así:
public class Sock
{
TcpListener listener;
Socket handler;
String data = "";
public void Manden(string mensaje)
{
byte[] message = System.Text.Encoding.ASCII.GetBytes(mensaje);
//TcpListener listener;
try
{
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
listener = new TcpListener(localAddr, 5545);
listener.Start();
}
catch (Exception ex) { }//jeje :P
handler = listener.AcceptSocket();
handler.Send(message);
}
public void Recibir(string data)
{
byte[] bytes = new byte[1024];
int count = 0;
do
{
handler.Receive(bytes);
data += System.Text.Encoding.ASCII.GetString(bytes, 0, count);
} while (data.IndexOf("FIN") == -1);
}
Esto no deberia funcionar ya que el listener no ha empezado a escuchar, solo fue declarado al igual que el handler... Ojala me echen una mano, seguro que es una estupidez.
PD: No se fijen en cosas como que no hago nada con las excepciones arrojadas, que el codigo esta recien hecho.