HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 06.06.2009, 22:11
intNet
Познающий
Регистрация: 31.05.2009
Сообщений: 68
С нами: 8919750

Репутация: 19
По умолчанию

Новичкам будет полезно, +.
Сам буду ждать четвёртую часть статьи, вопрос с соксами не до конца решён.
 

  #12  
Старый 14.06.2009, 19:06
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Четвертая часть она чисто основана будет на применении сокетов для решения конкретных задач.
А так вот вторую часть статьи прочитай, там есть парочка полезных вещей связанных с пингом и таймаутах на коннект. Довольно часто нужно применять при работе с проксями
 

  #13  
Старый 14.06.2009, 19:13
Lamia
Участник форума
Регистрация: 11.07.2007
Сообщений: 190
С нами: 9913237

Репутация: 185
По умолчанию

базываи понятия!Не отражена вся тема!
 

  #14  
Старый 14.06.2009, 19:31
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 Lamia ты читать умеешь?
Это обучающая статья для новичков, в которой описаны основные необходимые данные о Winsock. Причем расписано всё на примитивном и понятном уровне, чтобы не забивать мозги лишней информацией и левыми данными, которые на реале абсолютно не юзается.
А если тебе нужно чтото помощнее, то учи англ яз и лезь на MSDN где описано всё в мельчайших подробностях.
 

  #15  
Старый 30.12.2009, 02:14
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
С нами: 9193651

Репутация: 32
По умолчанию

Цитата:
Сообщение от slesh  
Код:
var
 timeout:TTimeVal;
begin
 timeout.tv_usec:=0;
 timeout.tv_sec:=10000; // время задается в миллисекундах. 10000 = 10 секунд
 // установим для сокета sock время ожидания чтения данных = 10 секунд.
 setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, @timeout, sizeof(ttimeval));
Ты ничего не путаешь?
Помоему, всю жизнь tv_sec - были секундами, а tv_usec - микросекундами?
Кстати, а в чём приемущества setsockopt перед sellect (именно в смысле таймаута)?
Только в том, что в setsockopt не надо добавлять сокет в набор?


Кстати, если не секрет, подскажи по ком (ну или чём) ты учился (я про сокеты)?

Последний раз редактировалось Flenov; 30.12.2009 в 02:20..
 

  #16  
Старый 30.12.2009, 02:50
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
С нами: 9596486

Репутация: 291


По умолчанию

почему делфи?

зы я такое писал, давно уже, только. под никсы и с использованием С.
кстати, вроде бы все аналогично, кроме создания сокета. а так, те же структуры, те же функции для того чтобы читать/писать, так?
 

  #17  
Старый 30.12.2009, 06:14
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
С нами: 9193651

Репутация: 32
По умолчанию

А вот ещё вопрос на засыпку:
Какие коды ошибок (кроме -1) могут вернуть Send и Recv?
 

  #18  
Старый 30.12.2009, 10:35
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 Flenov
Send и Recv -
0 - сокет закрылся по нормальному
-1 - ошибка
>0 данные пришли

setsockopt удобно для того чтобы не мучать select а потом recv всё время, а тут сразу сокет всегда будет давать таймаут на recv. Так что просто меньше команд.

2 zythar под никсы почти также, только там в некоторых случаях ошибка имеет другой код
 

  #19  
Старый 30.12.2009, 14:31
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
С нами: 9702986

Репутация: 479
По умолчанию

Цитата:
Сообщение от Flenov  
А вот ещё вопрос на засыпку:
Какие коды ошибок (кроме -1) могут вернуть Send и Recv?
во первых не Send и Recv, а send и recv. Во вторых они не возвращают код ошибки, а возвращают результат выполнения. Код ошибки возвращает WSAGetLastError.
 

  #20  
Старый 30.12.2009, 15:56
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
С нами: 9193651

Репутация: 32
По умолчанию

slesh, а вот шутки ради попробовал сет сок ёпт не с TTimeVal, а с LongWord.
Результат одинаковый, что удивило.
Кстати, если уж на то пошло, получается что сет сок ёпт задаёт чисто время жизни соединения, а sellect только проверяет за установленное время сокет (ы) в наборе на готовность принять или отправить.

Я именно про таймауты.

Последний раз редактировалось Flenov; 30.12.2009 в 16:11..
 
 



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.