Witam. Próbuje zrobić chat i chciałbym, żeby wiadomość do klienta trafiała poprzez pośrednika (Server)
chodzi o to żeby tekst został wyświetalny dopiero gdy server go nadeśle, a nie bezpośrednio poprzez klikniecie buttona.. Mam problem z odebraniem wiadomości od servera dla klienta. Server od klienta wiadomości przyjmuje bez zarzutów. Pomóżcie co zrobić żeby ten klient prawidłowo dostał to wiadomość, bo albo robie coś źle po stronie servera albo klienta...
fragment kodu - SERVER:
static void ListenClient(object klient)
{
Socket myklient = (Socket)klient;
byte[] message = new byte[256];
int bytesReceive;
while (true)
{
bytesReceive = 0;
try
{
bytesReceive = myklient.Receive(message);
}
catch
{
break;
}
if (bytesReceive == 0)
{
Console.WriteLine("Client disconnected");
myklient.Close();
}
string tekst = Encoding.UTF8.GetString(message, 0, bytesReceive); // przyjmuje
Console.WriteLine(tekst);
byte[] SendPacket = Encoding.UTF8.GetBytes(tekst);
myklient.Send(SendPacket); // a zarazem wysyła do klienta
}
}
fragment kodu - Klient:
private void GetDataServer()
{
byte[] message = new byte[256];
int bytesReceive;
while (true)
{
bytesReceive = 0;
try
{
bytesReceive = klient.Receive(message);
}
catch
{
break;
}
string tekst = Encoding.UTF8.GetString(message, 0, bytesReceive); // przyjmuje wiadomosc od servera, nie działa
rtBox1.Text = tekst;
}
}
Tak jak wspomniałem, mam tylko problem z odebraniem wiadomości od servera dla klienta.