Delphi. Сокеты - вопрос №189485

Здравствуйте!

Как можно подключить несколько клиентов к одному серверу.

Когда подключаю просто принимает сообщения только от первого подключившегося 

25.01.12
1 ответ

Лучший ответ по мнению автора

клиентские сокеты должны отличаться адресами и/или портами

если типовая библиотека не позволяет переопределить клиентский порт и спользуется только один внешний ip — ни как

upd смотрим вики на всякий случай

http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%82_(TCP/UDP)

TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации.

вывод — с одного ip один клиент

upd2 с другой стороны работают же целыми сетями через один шлюз...

если подумать

при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются)

наоборот значит что как раз приемный порт у сокета стремится быть уникальным..

как вариант — попробовать из разных процессов, поискать альтернативные реализации сокетов

26.01.12
Лучший ответ по мнению автора
Посмотреть всех экспертов из раздела Технологии > Delphi
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store