![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сокеты [D6, Win95/98]
BLANG © (2003-10-24 17:52:00)
Значит, есть приложение клиент-сервер. Цель - обмен информацией (что не удивительно :)). Для этой цели я использую сокеты. Клиент делает запрос/посылает команду серверу. Последний в свою очередь либо возвращает клиенту запрошенные данные, либо выполняет команду. Для определения вида данных, которые необходимо получить (текст, массив, динамич. массив), перед самими данными посылается текстов. сторока, указывающая соотв-но на тип последующих данных. Т.е. напр., если клиенту необходимо получить массив, он посылает на сервер следующие данные: 1. строку "txt", которая указ-т на то, что после будет отправлен текст. 2. строку (запрос) "Mas" (сервер воспримит ее как запрос массива и отошлет обратно). Внимание вопрос! :) Возникает проблема как в одной процедуре(не стандартной) на стороне клиента запросить массив и до окончания данной процедуры принять данные (массив)?
Rouse_ (2003-10-25 11:32:00) [1]
Посылать один байт как запрос. И как ответ этот байт также прибавлять к заголовку, для отдачи принятой информации нужной процедуре (так как асинхронка).
Желаю успехов
BLANG (2003-10-25 11:11:00) [2]
итак, режим у иеня асинхронный. А по поводу 1 байта хотелось бы поподробнее: т.е. вместо текста сперва посылать 1 байт или его посылать вместе с информацией?
P.s. это все хорошо, но основная проблема не в этом...
Digitman (2003-10-24 18:08:00) [3]
> перед самими данными посылается текстов. сторока, указывающая
> соотв-но на тип последующих данных
для кодирования всего 3-х режимов инф.обмена (1 = текст, 2 = массив, 3 = динамич. массив) вполне достаточно одного байта
какой смысл посылать явно избыточные данные ? ведь посылая строку-префикс из 3-х символов, ты посылаешь не менее 5 байт ... вместо всего одного, которого было бы достаточно для той же цели
Digitman (2003-10-24 18:02:00) [4]
какой режим кл.гнезда у тебя ? синхронный или асинхронный ?