Главная страница
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.057 c
1-1142130463
Кашперук Иван
2006-03-12 05:27
2006.04.16
Как использовать свою форму для ToolTips


15-1142855044
carmen
2006-03-20 14:44
2006.04.16
пример плагинов bpl з базой данных


1-1141234487
Unitay
2006-03-01 20:34
2006.04.16
Примечание в Excel


2-1144082129
Vitalik__
2006-04-03 20:35
2006.04.16
edit


2-1144061350
serg111111
2006-04-03 14:49
2006.04.16
Приложение в треере