Консультация № 19362
07.04.2005, 15:20
0.00 руб.
0 2 2
Здраствуйте.
Имеется клиент-серверное приложение, например клиент подключается к 9000-му порту сервера,
1. каким образом я могу проверить занят этот порт или нет,
2. если занят, то каким образом выделить на сервере для второго клиента 9001 порт,
3. а затем после того как освободиться 9000 порт перекинуть клиента с 9001 на 9000 порт?
Заранее примного болагодарен.

Обсуждение

Неизвестный
07.04.2005, 20:37
общий
это ответ
Здравствуйте, SemigloPs!
Вы бу лучше указали какие компоненты(или ещё что) используете.
1)Можно воспользоваться компонентом TcpClient(если ваша программа работает по этому протоколу).См. пример.
2)Просто меняете порт у используемового компонента. Например:ClientSocket1.Port:=9001;
3)Проверить(см.1) и также переключиться(см.2).

Приложение:
TcpClient1.RemotePort:=‘9000‘;TcpClient1.Open;if TcpClient1.Connected then ShowMessage(‘Порт занят‘);TcpClient1.Close;
давно
Мастер-Эксперт
425
4118
08.04.2005, 06:12
общий
это ответ
Здравствуйте, SemigloPs!
Может быть я не понял Ваш вопрос, но порты выделяются не серверу, а той или иной службе, например:
25 порт для службы SMTP
110 порт для POP3
3389 для RDP
1433, 1434 для MS SQL
Вне зависимости от того запущены эти службы или нет, ни для кого другого их назначать нельзя.
Насколько я помню, ни 9000 ни 9001 порт обязательным ни для каких служб не является, следовательно назначать их Вы можете сами по своему усмотрению для Ваших личных нужд
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа