Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

WSA.Listen   Найти похожие ветки 

 
GanibalLector ©   (2006-01-06 01:37) [0]


function Listen(S:TSocket;BackLog:Integer):Integer;

Параметр S задаёт сокет, который переводится в режим ожидания подключения. Этот сокет должен быть привязан к адресу, т.е. функция Bind должна быть вызвана для него явно. Для сокета, находящегося в режиме ожидания, создаётся очередь подключений. Размер этой очереди определяется параметром BackLog. Если этот параметр равен SoMaxConn, очередь будет иметь максимально возможный размер. В MSDN"е отмечается, что узнать максимально допустимый размер очереди стандартными средствами нельзя. Функция возвращает ноль в случае успешного завершения и Socket_Error в случае ошибки.



В WinSock.pas SoMaxConn=5 ! Это что ж получается,что у сервера не может быть более 5 клиентов??? ИМХО,бред.


 
GanibalLector ©   (2006-01-06 01:40) [1]

Или перефразируя это:
В MSDN"е отмечается, что узнать максимально допустимый размер очереди стандартными средствами нельзя.
и это
В WinSock.pas SoMaxConn=5

Я случайно ставлю 5 клиентов. Но получается,что это не 5,а  максимально допустимый размер.


 
GanibalLector ©   (2006-01-06 01:43) [2]

Вопрос : как ограничить сервер 5 клиентами?
Получается,что никак. Или 4 или 6.


 
Fay ©   (2006-01-06 08:52) [3]

2 GanibalLector ©   (06.01.06 1:43) [2]
А размер очереди как-то связан с количеством клиентов?
IMHO, слушающему гнезду не до них никакого дела.


 
FrykT ©   (2006-01-06 11:59) [4]

Если поставить число 50, то ничего страшного не будет. В обычной ОС оно так и будет 5, неавзирая на число 50. НО, если запустить на серверной ОС, то это число будет именно 50 ! Я непомню предела на серверной ОС.


 
Fay ©   (2006-01-06 12:26) [5]

2 GanibalLector ©  
1) BackLog - Maximum length of the queue of pending connections.
  Не "клиетов у сервера", а в очереди на accept.
2) Смотрим Platform SDK...
    WinSock.h  : #define SOMAXCONN       5
    WinSock2.h : #define SOMAXCONN       0x7fffffff
  Берём вторую, и не паримся 8)

2 FrykT ©   (06.01.06 11:59) [4]
> В обычной ОС оно так и будет 5
"Оно" - это хто? LOL


 
GanibalLector ©   (2006-01-06 15:28) [6]

Спасибо,понял.
На счет ограничений клиентов:
после WSA.Accept на сервере,я заполняю некоторую структуру.И,соответственно,посмотрев длину этой структуры не разрешаю серверу делать Accept. Я прав???


 
Fay ©   (2006-01-06 15:53) [7]

2 GanibalLector ©   (06.01.06 15:28) [6]
> посмотрев длину этой структуры
Это типа проверки на колисечтва подключений?


 
Fay ©   (2006-01-06 15:55) [8]

колисечтва
8)) "количества", конечно


 
GanibalLector ©   (2006-01-06 16:26) [9]

Ну,да.


 
Fay ©   (2006-01-06 17:10) [10]

2 GanibalLector ©   (06.01.06 16:26) [9]
Прости, но смысл "после WSA.Accept" "не разрешаю серверу делать Accept" до меня пока не доходит.

З.Ы.
WSA.Accept - что это?


 
Verg ©   (2006-01-06 21:37) [11]


> Fay ©   (06.01.06 12:26) [5]
> 2 GanibalLector ©  
>   Берём вторую, и не паримся 8)


Да хоть первую.

Этот параметр уже давно - весьма условная величина, определяющая макс. длину очереди запросов соединений не подтвержденных приложением (не акцепнутых). Иными словами - очередь неполностью установленных соединений. Т.е. глубину накополения запросов на соединение, компенсирующую задержку реакции твоего приложение на их возникновение. Как быстрее ты (твое приложение) можешь реагировать на поступающие запросы соединения, так меньше теоритически может быть быть это число.


 
FrykT ©   (2006-01-07 08:21) [12]

>>2Verg
нет, оно контролируется ОС. Очередь эта.

>>2Fay
>>"Оно" - это хто? LOL
"Оно" -- ЧИСЛО. т.е. максимальная очередь для обработки соединений.


 
Fay ©   (2006-01-07 15:11) [13]

2 Verg ©   (06.01.06 21:37) [11]
Я имел ввиду то же самое



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
2-1144056530
arsin
2006-04-03 13:28
2006.04.16
не получается изменить текст в заголовке формы при ее создании


2-1144045771
DelphiLexx
2006-04-03 10:29
2006.04.16
Выделение текста


3-1140346654
mif-e
2006-02-19 13:57
2006.04.16
Как делокализовать БД?


2-1143720079
dera
2006-03-30 16:01
2006.04.16
Как назыв. событие, когда прокручивать колесиком мышки?


2-1144084885
asd
2006-04-03 21:21
2006.04.16
Отчётность в Worf