Я хочу запустить мою программу несколько раз, и каждый экземпляр пытается подключиться через TCP к одному и тому же порту сервера. Я намерен разрешить первому подключиться, а остальным клиентам следует попытаться подключиться к другому порту.
Я использую этот код для подключения:
TcpClient tcp;
StreamReader streamReader;
StreamWriter streamWriter;
bool success=false;
while (!success) {
try
{
tcp = new TcpClient(Hostname, currentPort);
streamReader = new StreamReader(tcp.GetStream());
streamWriter = new StreamWriter(tcp.GetStream());
success=true;
} catch {
// wait a bit...
}
}
Теперь первый будет успешно подключен, но второй не получит исключения, но и не будет подключен. Как я могу определить, действительно ли программа подключена? Свойство tcp.Connected не работает.