2014-01-06 3 views
0

К сожалению, links к документации Indy в настоящее время не работают для меня. Я не знаю, были ли сайты внизу или что-то еще, но они не загружаются в моем браузере на данный момент.Как отличить 2 клиентов Indy от одного и того же IP-адреса?

У меня есть TIdCmdTcpServer в одном «серверном» приложении и TIdCmdTcpClient в другом «клиентском» приложении. Я знаю, как получить IP-адрес Клиента после его подключения. Я не знаю, как отличить двух клиентов, которые подключаются с одного и того же IP-адреса. Может ли кто-нибудь помочь?

+1

www.indyproject.org в настоящий момент отсутствует, но http://indyproject.org/index.de.aspx works – mjn

+0

www.indyproject.org отлично работает для меня. –

ответ

3

Это не вопрос Инди, более общий сетевой.

Различные клиенты по тому же адресу должны использовать разные порты. И здесь я имею в виду порт на клиентском конце соединения. Таким образом, вы различаете разные клиенты по одному и тому же адресу, используя разные порты.

1

НЕ используйте TIdCmdTCPClient с TIdCmdTCPServer. Они не предназначены для совместного использования, и очень легко затормозить связь с ними, поскольку они оба используют внутренние потоки чтения, которые ожидают, что другой одноранговый узел отправит данные. Используйте TIdTCPClient с TIdCmdTCPServer или TIdCmdTCPClient с TIdTCPServer.

С учетом этого вы можете использовать удаленный IP-порт клиента для дифференциации, но обычно лучше сделать свой собственный идентификатор, например, потребовать от клиентов входа в систему с именем пользователя, которое затем можно отслеживать по мере необходимости ,

Смежные вопросы