Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > IdUDPServer


Автор: Sportsmen 4.4.2007, 17:34
Пишу прогу типа ICQ для локалки. Т.е. Одна главная форма на ней 1-й Server, и по даблклику в списке создается окно на нем 2 Индюка: Client & Server.  
Он не дает запустить 2-й server, после 1-го... Пишет, что-то вроде АЙПИшник типа занят и порт.
Если возник вопрос зачем на форме со списком сервер? Излагаю свою мысль (если что исправьте): ведь окно разговора не всегда активно, а нужно как-то узнать о получении сообщения... Если удалить с главной формы, то же проблема: а если несколько человек общаться захотят, он больше одного окна не создаст...
Если кто-то понял smile , может предложите иной способ? 
ИМХО: Может нужен один сервер на гл. форме, пусть он все передает и разбирает?! smile 

Автор: Snowy 4.4.2007, 17:42
Невозможно на одном компьютере занять один порт 2 раза одновременно.
Именно так и нужно - один клиент и один сервер.
Где ты их положишь - дело твоё.
Но оба должны быть в одном экземпляре.

Автор: Dr_midon 18.4.2007, 13:29
ИМХО работать с двумя формами не удобно!
смотря что ты используеш?

если TCP то нужно создавать главный сервер и он уже будет коннектится со всеми клиентами.
т.е. получается схема: при загрузке программы(клиента) он будет соединяться с главным и единственным сервером(заведомо известным) и получать от него всю инфу:
- сколько пользователей находится в чате
- передавать сообщения твоему клиенту(общие или личные)
- обрабатывать сообщения от тебя
и разные другие фунуции

есть способ соединения по UDP - только надо сделать проверку на ошибки
более подробно см http://forum.vingrad.ru/topic-39778/view-all.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)