![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как пользоваться UDP, Broadcast-ом [D6, D7, Win2k, WinXP]
Jim^sz © (2004-11-11 21:11:00)Привет всем, я делаю чат, и столкнулся с такой проблемой:
мне нужно послать UDP бродкастом, если ответа не получил стань сервером если получил ответ, то соедениться с сервером.
WinLamka (2004-11-17 16:03:00) [1]пошли мессху на броадкаст адрес и все... (255)
SkyNet (2004-11-17 03:55:00) [2]Здрвствуйте...
сталкивался с подобной проблеммой...
самый оптимальный вариант использовать функцию которая возвращает
количество сетевых интерфейсов на конкретной машине...
и по полученным данным формировать броадкаст...
который и будет указан в виде адреса назначения...
Jim^sz (2004-11-16 21:36:00) [3]Тест...
Knight (2004-11-11 22:01:00) [4]
> Jim^sz © (11.11.04 21:11)
Зачем сервер-то делать? А если он выёдет из сети? Будешь назначать, на роль сервера, другого? А что в это время клиенты будут делать? Может проще весь чат на бродкасте замутить?
Verg (2004-11-11 21:32:00) [5]разреши сокету отсылать бродкаст
var
enable : BOOL;
enable := TRUE;
setsockopt(s, SOL_SOCKET, SO_BROADCAST, pchar(@enable), sizeof( enable ));
Ну и отсылай бродкасты. Вопрос как это делать грамотно достаточно объемен. В первом же приближении просто отсылай датограммы sendto, где в качестве адресата указывай htonl( INADDR_BROADCAST ). На первое время хватит...