Форум: "Сети";
Текущий архив: 2011.09.25;
Скачать: [xml.tar.bz2];
ВнизОпределить режим работы сокета: блок. или неблок. в Winsock Найти похожие ветки
← →
DVM © (2009-05-08 21:35) [0]Подскажите, что-то никак не могу понять (найти функцию в Winsock), с помощью которой можно было бы определить в каком режиме (блокирующем или нет) находится сокет. Функции fcntl() в Winsock по-видимому нет. Как это сделать?
← →
Сергей М. © (2009-05-09 10:32) [1]Да, пожалуй, и нет такой ..
А собссно зачем это может понадобиться ?
Я так понимаю, хэндл сокета достался тебе от кого-то "по наследству" ибезо всяких "документов" ?
← →
DVM © (2009-05-09 11:15) [2]
> А собссно зачем это может понадобиться ?
Теперь уже чисто академический интерес. Практической пользы от данной функции скорее всего и нет, т.к. если сокет "мой", то я всегда его могу перевести в нужный режим и все дела. Потому ее наверное и нету. Хотя из чисто информационных целей могли бы и оставить.
> Я так понимаю, хэндл сокета достался тебе от кого-то "по
> наследству" ибезо всяких "документов" ?
Да. Именно это и стало первоначальной причиной поиска такой функции.
← →
Slym © (2009-05-13 12:38) [3]if ioctlsocket(SocketHandle,FIONBIO,0)=SOCKET_ERROR then
begin
if WSAGetLastError=WSAEINVAL then НЕБЛОКИРУЮЩИЙ
end;
← →
Сергей М. © (2009-05-13 13:11) [4]
> Slym © (13.05.09 12:38) [3]
Цитата из справки:
If WSAAsyncSelect or WSAEventSelect has been issued on a socket, then any attempt to use ioctlsocket to set the socket back to blocking mode will fail with WSAEINVAL
А если WSAAsyncSelect or WSAEventSelect has NOT been issued ?
)
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2011.09.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c