Экземпляр Tcp/IP держит порт занятым
Всем Привет,
У меня есть приложение, через которое я пытаюсь связаться с оборудованием через ethernet. Мое приложение имеет 2 кнопки, одна для подключения и другая для отправки команд.
Событие щелчка кнопки подключения происходит так, как показано ниже:
private void btnConnect_Click(object sender, EventArgs e) { client = new TcpClient(); client.SendTimeout = SEND_TIMEOUT; client.ReceiveTimeout = RESPONSE_TIMEOUT; client.Connect(DeviceIPAddress, DevicePortNumber); if (!client.Connected) { throw new Exception("Device not connected"); } } private void btnSendCmd_Click(object sender, EventArgs e) { using (client = new TcpClient(DeviceIPAddress, DevicePortNumber)) { client.SendTimeout = SEND_TIMEOUT; client.ReceiveTimeout = RESPONSE_TIMEOUT; string commandResponse = null; byte[] sendDataBuffer; byte[] receiveDataBuffer = new byte[1024]; // other process takes places here } }
Проблема в том, что всякий раз, когда я нажимаю на кнопку подключения, создается экземпляр TCP, и порт постоянно занят. И после подключения, если я попытаюсь нажать на кнопку SendCommand, он выдаст ошибку, сказав, что не может общаться.
Любая помощь действительно ценится.
Заранее спасибо,
Джагадиша. Н
Что я уже пробовал:
Я попытался прокомментировать приведенные ниже строки кода в событии щелчка кнопки connect, но проблема осталась прежней.
//client.SendTimeout = SEND_TIMEOUT; //client.ReceiveTimeout = RESPONSE_TIMEOUT;