Я разрабатываю сервер-клиентское приложение, которое использует 3 порта [TCP SOCKET .Net 4.0] ..
Таким образом, приложение дает пользователю возможность установить порт только для основного сокета. но я хочу позволить серверному приложению автоматически находить доступный порт для двух других сокетов, чтобы оно отправляло значение порта клиенту, используя соединение с главным сокетом. затем клиент подключается к другому сокету, используя полученное значение порта.
вот небольшое объяснение:
основной сокет прослушивает настраиваемый порт. этот сокет принимает клиента для запуска команд отправки / получения.
(файловый менеджер / менеджер задач / свойства / завершение работы / чат)
второй сокет предназначен для
передачи файлов только для передачи файлов и закрывается по завершении.
третий сокет предназначен только для получения / отправки скриншота
.
[я знаю, вы могли бы сказать, что я должен использовать один и тот же сокет для передачи файлов и скриншота, но это немного сложно. я просто использую отдельные сокеты для каждого из них.]
Так как мне найти доступный порт, прежде чем связывать сокет с конечной точкой? как то так:
int port = 10000;
bool isAvailable = false;
while(!isAvailable)
{
try
{
// check if the port is available to use.
isAvailable = true;
}
catch
{
port++;
}
}