Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
2-1143635931
Fl@sh
2006-03-29 16:38
2006.04.16
From TMemoryStream to PByte


1-1142420907
V-A-V
2006-03-15 14:08
2006.04.16
Просмотр XML файлов


15-1142436289
infom
2006-03-15 18:24
2006.04.16
Клиент-сервер чат для локальной сети.


2-1144006969
Евгений Р.
2006-04-02 23:42
2006.04.16
Использование tDataBase


1-1142410007
Lera
2006-03-15 11:06
2006.04.16
юниты дельфи




   Наверх