#include <winsock2.h>
(...)
char szMessage [] = "Hello =)";
SOCKADDR_IN Sock;
Sock.sin_family = AF_INET;
Sock.sin_port = htons ( 666 );
Sock.sin_addr.s_addr = inet_addr ( "255.255.255.255" ); // или просто INADDR_BROADCAST
SOCKET Socket = socket ( AF_INET, SOCK_DGRAM, 0 );
BOOL bEnabled = TRUE;
setsockopt ( Socket, SOL_SOCKET, SO_BROADCAST, (const char *) &bEnabled, sizeof ( BOOL ) );
sendto ( Socket, szMessage, sizeof ( szMessage ), 0, (LPSOCKADDR) &Sock, sizeof ( SOCKADDR_IN ) );
(...)
Широковещательная посылка
Как послать посылку всем компьтерам в сети не перебирая адреса. То есть на каких то компах в сети стоят сервера и слушают порт. А я с одной машины посылаю сообщение и все они его должны получить.
Цитата:
Originally posted by SEDEGOFF
Тут где то был пример, но я его немогу найти (похоже удалили). Так вот вопрос
Как послать посылку всем компьтерам в сети не перебирая адреса. То есть на каких то компах в сети стоят сервера и слушают порт. А я с одной машины посылаю сообщение и все они его должны получить.
Тут где то был пример, но я его немогу найти (похоже удалили). Так вот вопрос
Как послать посылку всем компьтерам в сети не перебирая адреса. То есть на каких то компах в сети стоят сервера и слушают порт. А я с одной машины посылаю сообщение и все они его должны получить.
Посылай пакеты на широковещательный адрес (т.е. на 255.255.255.255). При этом не забудь установить для отправляющего сокета флаг SO_BROADCAST, иначе ничего не отправится. Примечание: на широковещательный адрес можно посылать только UDP-датаграммы.
Чето не получается. Можно пример
Спасибо за пример... но не работает