Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

работа setsockopt

3.5K
29 февраля 2004 года
zl0gzd3r
13 / / 23.08.2003
Мне надо, чтобы мой сервак принимал любые входящие коннекты из локалки, а для этого, на сколько я понял, нужно установить опцию SO_BROADCAST для сокета. Помогите, плиз, как это сделать.
1
29 февраля 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by zl0gzd3r
Мне надо, чтобы мой сервак принимал любые входящие коннекты из локалки, а для этого, на сколько я понял, нужно установить опцию SO_BROADCAST для сокета. Помогите, плиз, как это сделать.


 
Код:
SetSockOpt(SO_BROADCAST,TRUE,sizeof(BOOL),IPPROTO_TCP);

или
 
Код:
setsockopt(SOCET_HEAD,IPPROTO_TCP,SO_BROADCAST,true,sizeof(bool));
3.5K
01 марта 2004 года
zl0gzd3r
13 / / 23.08.2003
 
Код:
setsockopt(server,IPPROTO_TCP,SO_BROADCAST,true,sizeof(bool));

Так не работает.
 
Код:
setsockopt(server,SOL_SOCKET,SO_BROADCAST,true,sizeof(bool));

И так не работает
 
Код:
setsockopt(server,SOL_SOCKET,SO_BROADCAST,(const char*)true,sizeof(bool));

И даже так не работает. Вопрос: а как работает? Плз, очень надо.
1
01 марта 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by zl0gzd3r
 
Код:
setsockopt(server,IPPROTO_TCP,SO_BROADCAST,true,sizeof(bool));

Так не работает.
 
Код:
setsockopt(server,SOL_SOCKET,SO_BROADCAST,true,sizeof(bool));

И так не работает
 
Код:
setsockopt(server,SOL_SOCKET,SO_BROADCAST,(const char*)true,sizeof(bool));

И даже так не работает. Вопрос: а как работает? Плз, очень надо.


Прошу прощения, работает вот так:

 
Код:
SOCKET hServer = socket(PF_INET,SOCK_STREAM,IPPROTO_IP);
setsockopt(hServer,IPPROTO_TCP,SO_BROADCAST,"TRUE",sizeof(bool));
....//и т.д.

Специально проверил.
3.5K
01 марта 2004 года
zl0gzd3r
13 / / 23.08.2003
 
Код:
WSADATA wsaData = {0};
  if (WSAStartup(MAKEWORD(2,0), &wsaData) != 0) return 0;
  SOCKET server = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
  if (server == INVALID_SOCKET) return 0;
  if (setsockopt(server,IPPROTO_TCP,SO_BROADCAST,"true",sizeof(bool)) == SOCKET_ERROR) return 0;

Ничего не понимаю, даже так не работает. Просто выходит из потока и все. Блин, в чем же дело. :x Целый проект из-за этой единственной строчки виснет.
1
01 марта 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by zl0gzd3r
 
Код:
WSADATA wsaData = {0};
  if (WSAStartup(MAKEWORD(2,0), &wsaData) != 0) return 0;
  SOCKET server = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
  if (server == INVALID_SOCKET) return 0;
  if (setsockopt(server,IPPROTO_TCP,SO_BROADCAST,"true",sizeof(bool)) == SOCKET_ERROR) return 0;

Ничего не понимаю, даже так не работает. Просто выходит из потока и все. Блин, в чем же дело. :x Целый проект из-за этой единственной строчки виснет.


 
Код:
WSADATA wsaData = {0};
  if (WSAStartup(MAKEWORD(2,0), &wsaData) != 0) ShowMessage("Скорее всего ошибка yt nfr ghj bybw");
  SOCKET server = socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
  if (server == INVALID_SOCKET) ShowMessage("Скорее всего ошибка");
  if (setsockopt(server,SOL_SOCKET,SO_BROADCAST,"TRUE",sizeof(bool)) == SOCKET_ERROR) ShowMessage("Скорее всего ошибка dddd");
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог