wszystko jest dobrze do momentu wykrywania który klient się rozłączył
podłączenie klienta wygląda tak:
private void StartListen()
{
tcpServer = new TcpListener(serverParams.ipAddress, serverParams.iPort);
tcpServer.Start();
bServerStarted = true;
while (true)
{
try
{
Thread t = new Thread(new ParameterizedThreadStart(NewClient));
tcpClient = tcpServer.AcceptTcpClient();
IPEndPoint sender = new IPEndPoint(((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address,
((IPEndPoint)tcpClient.Client.RemoteEndPoint).Port);
EndPoint endPtn = (EndPoint)sender;
tcpClient.Client.BeginReceiveFrom(state.buffer,
0,
StateObject.BufferSize,
0,
ref endPtn,
new AsyncCallback(this.OnReceive),
state);
t.Start(tcpClient);
}
catch (Exception)
{
}
}
}
jak widać na reakcję klienta odpowiada funkcja OnReceive
no i odpowiada, działa jak powinna ale nie wiem który klient zgłasza zakończenie pracy
ja wiem, że na razie EndPoint jest nic nie wart, ale nie wiem co zrobić, ze był coś wart?
jak można to ulepszyć, żeby było wiadomo, który klient się rozłączył