Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отправка широковещательных датаграмм 
:(
    Опции темы
Annuta
Дата 3.7.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



Вот пытаюсь написать функцию поиска утсройтсва... тдея такая. Моя прога отправляет широковещательную дейтаграмму по UDP /я так понимаю что при такой отправке не нужен ИП/ - устройство - на другом конце её ловит - отсылает ответ. Всё вроде просто... но как всегда ни фига не работает... вот мои функции инициализации и отрпавки 
Код

BOOL DHCP::InitSocket_dhcp()
{
     char buff[1024];
     WSAStartup(0x0202,(WSADATA *) &buff[0]);//Инициализация Библиотеки Сокетов
    
      //связывание сокета с локальным адресом
           sockaddr_in local_addr;    

          local_addr.sin_family=PF_INET;
          local_addr.sin_addr.s_addr=inet_addr("255.255.255.255");;    
     local_addr.sin_port=htons(1234);

     socket_dhcp  = socket(PF_INET,SOCK_DGRAM, 0);//создание сокета      
 
 return 0;
}    
    
    DWORD DHCP::Send_dhcp()
    {
       sockaddr_in local_addr;    
  
               local_addr.sin_family=PF_INET;
        local_addr.sin_addr.s_addr=inet_addr("255.255.255.255");;    
        local_addr.sin_port=htons(67);
        int tmpSize = sizeof(local_addr);

        // посылка датаграммы клиенту
        int SendTo =  sendto(socket_dhcp,"11111", 5, 0,(sockaddr*)&local_addr, (socklen_t)tmpSize);        
        return SendTo;
    }
        
 
SendTo - возвращает -1 сокет создаётся.. всё ок ... структура заполняется... 
Не могу понять - что не так ???
и ещё поппутный вопросик - для такой отправки номер порта критичен ??? т.е. обязательно отправлять с 67 порта - или можно отправлять с любого ???          Спасибо!!!
--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
MaXL
Дата 3.7.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 24.10.2005
Где: Владивосток

Репутация: нет
Всего: 2



1. Вопрос по поводу порта я не понял. Что значит с какого порта отсылать? может имелось _в_ какой порт посылать? Тогда ответ: да, критичен.
2. Я не вижу чтобы ты перевела сокет в широковещательный режим.
Код

bool fBroadcast;
.......
setsockopt (socket_dhcp, SOL_SOCKET, SO_BROADCAST, (CHAR *) &fBroadcast, sizeof ( BOOL )) != 0 )

Ну и скорее всего всё должно заработать.

Это сообщение отредактировал(а) MaXL - 3.7.2007, 13:33


--------------------
MaXL
PM MAIL   Вверх
Annuta
Дата 4.7.2007, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.10.2006
Где: Dubna

Репутация: нет
Всего: 1



ЗаарАБОТАЛО!!!!... Спасибо!!!... smile 
--------------------
Программист - это комбинация лени и логики !
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0961 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.