Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с сокетами 
V
    Опции темы
Ak47black
  Дата 11.4.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Работаю с TServerSocket и TClientSocket

Вообшем попробую описать проблему :
  • Есть три компа соединенёные сетью (Lan), в точке A
  • Один из них имеет выход в интернер и остальные два за сшет его тоже имеют интернет (через)
  • Допустим эти остальные два выступают как Client
  • Гдето в просторах интернета находиться Server точка B
  • В какой-то момент эти два компьютера, назову их как A1 и A2 подсоединяються к серверу который находиться в точке B
  • Допустим я начал с ними работать (Server)
  • В какой-то момент один юзер (Client) сделал Disconnect

user posted image

Вопрос:
  Как понять какой из них вышол, ведь Ip у них одинаковые?

Пробовал сделать
Код

ServerSocket.Socket.Connections[i].OnSocketEvent:= Моя процедура обработки.

Но тогда вообше нечего невыходит словить что приходит от Client.
До этого я по Ip определял откуда идет информация.
PM MAIL   Вверх
Snowy
Дата 11.4.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Соединение определяется не только IP адресом, но и портом.
С одного IP конечно может быть несколько подключений.
А вот с пары IP/порт - только одно.
То есть при одной и том же IP, порты будут всегда разные.
PM MAIL   Вверх
Ak47black
Дата 11.4.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Ну а как тогда например в клубах игры играют по интернету, там Ip одаковый ,а сервер в интернете на одном порту?
Интересно узнать.

Добавлено через 9 минут и 41 секунду
И если запустить два клиента на свойм компе и один сервер то эти два клиента приконектяться нормально.

Это сообщение отредактировал(а) Ak47black - 11.4.2007, 13:48
PM MAIL   Вверх
Snowy
Дата 11.4.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Они коннектятся НА один и тот же порт.
Но С РАЗНЫХ портов.
Посмотри IP и порт клиента.
IP и порт сервера тебе не интересны - они фиксированы.

Пример.
У меня на машине открыт браузер и тянет что-то в 4 потока.
1 линк: 192.168.0.1:2843 -> 62.75.204.171:80
2 линк: 192.168.0.1:4825 -> 62.75.204.171:80
3 линк: 192.168.0.1:2578 -> 62.75.204.171:80
4 линк: 192.168.0.1:2655 -> 62.75.204.171:80

То есть, если клиентский IP всегда один, то порты у него всегда разные.
Серверный IP/порт, понятное дело, предопределены.
А вот клиентский порт выбирается рэндомно из свободных.
При желании его конечно можно и зафиксировать (пример TIdTCPClient.BindingPort), но лучше оставить рэндомным, иначе заглючит.
PM MAIL   Вверх
Ak47black
Дата 11.4.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Snowy,  smile спасибо за пояснение. +
Я про то что по random береться то незнал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.