Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

if ((raw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_IP)) == -1) return -1;

 

// Вот тут некоторые руководства утверждают, что сырому сокету надо дать атрибут IP_HDRINCL. Дать-то, конечно, можно,

// но ведь можно и не давать! Флаг IP_HDRINCL сообщает системе, что апплет хочет сам формировать IP-заголовок

// отправляемых пакетов, а принятые пакеты ему отдаются с IP-заголовком в любом случае.   

// Подробности в PlatformSDK ® TCP/IP Raw Sockets

// if (setsockopt(raw_socket, IPPROTO_IP, IP_HDRINCL,

// &optval, sizeof(optval))== -1)…

 

// Перечисляем все интерфейсы (т.е. IP-адреса всех шлюзов, что есть на компьютере. При ppp-подлюкчении к Интернету

// обычно имеется всего один IP-адрес, назначенный DHCP-сервером провайдера, однако в локальной сети это не так

if ((zzz = WSAIoctl(raw_socket, SIO_ADDRESS_LIST_QUERY,0, 0, addrlist, sizeof(addrlist), &N, 0, 0)) == SOCKET_ERROR) return -1;

// Теперь мы должны сделать bind на все интерфейсы, выделив каждый в свой поток (все сокеты – блокируемые), однако,

// в данном демонстрационном примере слушается лишь IP первого попавшегося под руку интерфейса

addr.sin_family = AF_INET;

addr.sin_addr   = ((struct sockaddr_in*) llist->Address[0].lpSockaddr)->sin_addr;

if (bind(raw_socket, (struct sockaddr*) &addr, sizeof(addr))==SOCKET_ERROR) return -1;

 

#define SIO_RCVALL  0x98000001

 

// cообщаем системе, что мы хотим получать все пакеты, проходящие мимо нее

if (zzz=WSAIoctl(raw_socket,SIO_RCVALL,&optval, sizeof(optval),0,0,&N,0,0)) return –1;


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160]
[161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180]
[181] [182] [183] [184] [185] [186] [187]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100