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

Вниз

Кто нибудь может четко объяснить разницу между ServerSocketType   Найти похожие ветки 

 
S@shka ©   (2003-12-19 10:13) [0]

NonBlocking и stThreadBlocking???
Понимаю что в первом случае обработка чтения через Event OnRead.
Но значит ли это - что если два клиента одновременно пульнут данные то сначала обработается первая порция в OnRead а потом Onread еще раз возникнет (или точнее может и 1 раз но данных там будет в Данные*N-клиентов).
А во втором случае для каждого клиента свой поток в котором и ведется обработка данных???


 
Digitman ©   (2003-12-19 10:26) [1]


> Но значит ли это - что если два клиента одновременно пульнут
> данные то сначала обработается первая порция в OnRead а
> потом Onread еще раз возникнет (или точнее может и 1 раз
> но данных там будет в Данные*N-клиентов).


для каждого отдельного активного клиента будет возникать отдельная последовательность событий OnRead()

по 2-му параметру обработчика можно идентифицировать, с каким конкретно клиентом ассоциировано обрабатываемое в дан.момент событие


> А во втором случае для каждого клиента свой поток в котором
> и ведется обработка данных???


да.


 
S@shka ©   (2003-12-19 10:35) [2]

Но эти события OnRead возникабт в одном потоке программы соответственно возникают последовательно?


 
Digitman ©   (2003-12-19 10:37) [3]

конечно !


 
Fay   (2003-12-19 12:12) [4]

Пакеты тоже последовательно приходят, но это никого не удивляет 8)


 
S@shka ©   (2003-12-19 12:55) [5]

При режиме клиента Blocking.
Процедура Client.SendBuffer () - ждет пока данные не будут считаны (приняты наверное правильнее) Сервером???
И только потом двигается дальше???


 
Digitman ©   (2003-12-19 16:46) [6]


> При режиме клиента Blocking.
> Процедура Client.SendBuffer () - ждет пока данные не будут
> считаны (приняты наверное правильнее) Сервером???


не совсем так.
в любом режиме возврат управления Send()-ф-цией после ее вызова не означает, что посланные данные УЖЕ доставлены партнеру

для простоты можно считать, что передаваемый блок данных был помещен целиком в некую внутреннюю очередь, и заботиться как-то о том, что все содержимое этой очереди будет фактически и успешно доставлено партнеру, в общем случае не требуется


> И только потом двигается дальше???


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

проблемы могут возникнуть лишь в случае, если процессу-передатчику понадобилось срочно "закруглиться", при этом - немедоенно закрыть гнездо, с которым ассоциирована некая (возможно непустая еще в этот момент) очередь передачи

но это - иная история



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
1-79874
Andrey007
2004-02-10 12:56
2004.02.25
Как отсортировать TComboBox?


14-80098
Maxim Vetera
2004-02-03 12:11
2004.02.25
Дианетика!!!


6-80061
Term!
2003-12-19 12:22
2004.02.25
Не работает Win-CGI приложение


3-79663
lic_
2004-01-30 14:12
2004.02.25
Кодировка


6-80060
korvin
2003-12-18 16:41
2004.02.25
Избито и тривиально, но ... сокеты