Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2012, 13:00   #1
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию Многопользовательский чат

Доброго времени суток. Работаю под XE. Есть проблема, нужно написать чат. TCP протокол не подходит, т.к. сервер надо создавать. Получается. что надо через UDP. Winsock нормально прикрутить не смог. Попробовал через Indy, получил ошибку IdUDPServer функция OnRead не создается, битая библиотека, не хватает файла IndySystem150.bpl. Нашел компоненту UdpSocket стандартную, но как с ней работать не нашел. Есть у кого файл IndySystem150.bpl? Или как работать с UdpSocket? Подскажите пожалуйста.
Drugnir вне форума Ответить с цитированием
Старый 12.03.2012, 13:34   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

В чем проблема прикрутки Winsock?
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 12.03.2012, 13:50   #3
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Читал тут.
Но тут опять, нужно указывать адрес сервера, а мне нужен широковещательный чат, без создания сервера.
Drugnir вне форума Ответить с цитированием
Старый 12.03.2012, 13:56   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Тогда пользователи будут получать сообщения им не адресованные. Получиться каша.
Типа: прибор? 120! Что 120? Что прибор?
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 12.03.2012, 13:59   #5
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Чат общий, все что туда пишут, видят все. Личные сообщения не нужны.

Цитата:
Тогда пользователи будут получать сообщения им не адресованные. Получиться каша.
Типа: прибор? 120! Что 120? Что прибор?
такого точно не будет, чат нужен не для болтологии.

Последний раз редактировалось Drugnir; 12.03.2012 в 14:05.
Drugnir вне форума Ответить с цитированием
Старый 12.03.2012, 14:22   #6
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Тогда адресом сервера будет широковещательный адрес типа 192.168.0.255 (на подсеть).Или адрес группы.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 12.03.2012, 14:23   #7
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Сокет только нужно будет настроить надлежащим образом для широковещательной рассылки.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 13.03.2012, 00:26   #8
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Т.е. сервер создавать у каждого пользователя? Или в клиент поставить широковещательный адрес, без создания самого сервера?
Drugnir вне форума Ответить с цитированием
Старый 13.03.2012, 08:48   #9
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

а сокет кто будет слушать в клиенте? На прием дейтаграмм? Еще и желательно в отдельном потоке, иначе recvfrom подвесит клиента до прихода сообщения. Причем лучше сделать так. Запускаешь поток, котором запускаешь еще поток для прослушки сокета и опроса флага завершения работы клиента.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 13.03.2012, 11:32   #10
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

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

Последний раз редактировалось Drugnir; 13.03.2012 в 12:18.
Drugnir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопользовательский чат с отправкой файлов Drugnir C++ Builder 12 21.10.2011 12:22
многопользовательский сервер Johnson Работа с сетью в Delphi 0 18.07.2011 00:07
Многопользовательский АРМ Aleksey1989 БД в Delphi 6 15.06.2011 09:15
многопользовательский режим Nastay Помощь студентам 1 04.04.2008 19:57
многопользовательский чат дельфи ben95 Помощь студентам 8 02.02.2008 11:59