/// <summary> /// 응답이 없는 클라이언트를 연결 해제합니다. /// </summary> /// <param name="disconnectedClient">연결이 해제된 Client</param> private void DisconnectionClient(CustomTcpClient disconnectedClient) { if (clients.Contains(disconnectedClient)) { Dispatcher.Invoke(() => { clients.Remove(disconnectedClient); disconnectedClient.Dispose(); }); } }
/// <summary> /// 접속요청이 오는 클라이언트를 수락합니다. /// </summary> private void AcceptClient() { while (true) { var clientTemp = listener.AcceptTcpClient(); var client = new CustomTcpClient(clientTemp, INTERVAL); Dispatcher.Invoke(() => { clients.Add(client); client.OnDisconnected += DisconnectionClient; }); } }