Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Общение между клиентом и сервером.   Найти похожие ветки 

 
Adrian_Copil_Minune   (2002-12-13 11:25) [0]

Привет.

Клиент посылает разные запросы к серверу Сечас это релизованно так:
есть структура
TCommBlock = packed record
Command: string[25];
Msg: string[100];
end;

клиент посылает эту структуру к серверу и он узнает имя команды и парсирует параметры из Msg.

Вопрос:
я хочю чтобы клиент посылал разные структуры с полями пораметрами для каждова запроса (так будет более отимизированно)
но не знаю как на сервере в Execute различать какая структура пришла ведь
ReadBuffer(CommBlock, SizeOf(CommBlock));
то есть ReadBuffer я могу делать только для одной структуры.
Думаю это можно релизовать но ничего не приходит в голову.

Нелп!


 
Adrian_Copil_Minune   (2002-12-13 12:23) [1]

Але народ, неужели никто ничего не скажет?


 
ole   (2002-12-14 11:14) [2]

используй заголовок, стандартный для всех команд.
Считывай сначала заголовок из буфера, в зависимости от указанной длины считывай остальное. также в заголовке можно указать тип команды и скажем CASE-ом разбирать дальше.


 
Digitman   (2002-12-14 11:20) [3]


> различать какая структура пришла


А если пол-структуры пришло ? Или сразу - полторы структуры ? ты эту ситуацию предусматриваешь ?


 
ole   (2002-12-14 11:45) [4]

Digitman
> А если пол-структуры пришло ? Или сразу - полторы структуры
> ? ты эту ситуацию предусматриваешь ?


организовать буфер приема и лепить пакетики друг к другу.
далее из БУФЕРА выбирать нужное.
при обработке, в случае недостаточной длины - отбрасывать или ждать добавки :)


 
Digitman   (2002-12-14 11:51) [5]

Это ты мне ? Это ты автору объясни)


 
ole   (2002-12-14 11:56) [6]

Digitman: Я, конечно, дико извиняюсь... :) но ЭТО как раз было автору.


 
Александр Спелицин   (2002-12-14 15:27) [7]

Кстати, а что именно вы используете для передачи данных между клиентом и сервером?


 
Polevi   (2002-12-15 09:55) [8]

Winsock2



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

Форум: "Сети";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.019 c
3-15491
mate
2003-01-20 14:38
2003.02.06
MSSQL


4-15998
orlov
2002-12-24 11:53
2003.02.06
подскажите плиз как подключится к инету на чистом API


1-15738
Kyt
2003-01-27 10:44
2003.02.06
SOS bordbk50.dll ! ! !


3-15511
Rule
2003-01-21 10:51
2003.02.06
Можно ли разделять права доступа в IB6(FB1)!


1-15715
Nikolai_S
2003-01-24 18:01
2003.02.06
Как обработать событие TForm.OnShortCut ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский