Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько програм на одном порту [D6, Win95/98, Win2k, WinXP]


MaximP ©   (2005-04-18 12:13:00) 

Уважаемые мастера подскажите как разрулить ситуацию.
Дело в следующем есть несколько программ-серверов на одной машине и используют один порт, дак вот проблемма в том что как раз один порт и не используют по причине того что машина ругается что возможно использование протокола/сетевого адрес/порта только одним приложением. Использую ServerSocket1. Подскажите в каком направлении рыть.


MaximP   (2005-04-20 13:08:00) [1]


> atruhin ©   (20.04.05 09:11) [9]

Понял, буду разбираться!


atruhin   (2005-04-20 09:11:00) [2]

UDP


MaximP   (2005-04-19 19:17:00) [3]


> atruhin ©   (19.04.05 07:36) [7]

Заинтересовал 1 выриант, вот только как послать широковещательное сообщение?


atruhin   (2005-04-19 07:36:00) [4]

1. Сервер запускается посылает широковещательное сообщение о том что он запущен, остальные программы, приняв рассылку, коннектятся к нему (так многие игрушки работают).
2. Любая из версий программы обеспечивает транспортный канал для других. Вторая копия при запуске проверяет, что канал создан, и пересылает свои пакеты используя любой тип межпроцессорного взаимодействия.
3. Ну и пусть стучаться к серверу, по таймеру скажем раз в 10 сек., сеть этим не нагрузишь.


MaximP   (2005-04-18 14:35:00) [5]


> atruhin ©   (18.04.05 14:14) [5]

как вариант допускаю, но тогда каждый клиент должен постоянно стучаться к серверу, т.к. программа для просмотра подключений может быть и не запущена вовсе. И поэтому я и сделал так как сделал, чтобы программа для прсмотра подключений сама искала, и не вышло. Посему задачу перед собой поставил такую, каким то образом прослушивать порт и реагировать на это, скорее действительно использовать вариант перемены мест сервера и клиента, но активизируется клиент только при событии на порту, вот только как реализовать. Может есть другие варианты. С промежуточным сервером не подходит.


atruhin   (2005-04-18 14:14:00) [6]

Ну дак поменяй ClientSocket и ServerSocket местами


MaximP   (2005-04-18 12:44:00) [7]


> dmitry501 ©   (18.04.05 12:22) [2]

Менять порты не выход.
Опишу ситуацию чуть подробней, может посоветуете другой выход.
Есть сеть локальная, пользователи запускают программы расположеные на сетевом диске. мне нужно знать какие программы и кем запущены.
Что сделал: разбил задачу на два этапа
1)(Уже сделал) определил имена машин, пользователей, ip- адреса всех кто в настоящее время подключен к сети. Сделал.
2)(сделано в тестовом варианте в котором и наткнулся на проблему)в каждую из програм запускаемых пользователями разместил компонент ServerSocket в задачу которого и входит отвечать клиенту ClientSocket расположенный в программе которая и отражает все машины с приложениями в которые интегрирован модуль сервера. И всё бы хорошо если бы пользователи не запускали по несколько программ, а также по несколько экземпляров одной программы, а им это нужно.
Конечно это извращение плодить столько серверов, но как поступить?


Alex Konshin   (2005-04-18 12:32:00) [8]

Если говорит, что используешь, значит, используешь.
Как эти программы работают? Кто их запускает? Когда и как они завершаются? Возможен ли запуск нескольких копий?


dmitry501   (2005-04-18 12:22:00) [9]

Менять используемые порты.


Anatoly Podgoretsky   (2005-04-18 12:20:00) [10]

В сторону коммутатора.


Наверх

Титульная страница Поиск, карта сайта Написать письмо