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

Вниз

Передача данных: Клиент-Сервер, Сервер-Клиент   Найти похожие ветки 

 
Noro   (2003-07-17 22:06) [0]

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

на машине. Как это реализовать. Пробовал через TxxxxxxSocket, не

получилось. Возможно ли посылать запрос серверу и выполнять программу

только после того, как сервер пришлёт ответ? Помогите пожалуйтста!

Зарание благодарен.


 
Digitman   (2003-07-18 08:20) [1]


> Пробовал через TxxxxxxSocket, не
>
> получилось


Что не получилось ? Конкретно ?


> Возможно ли посылать запрос серверу и выполнять программу
> только после того, как сервер пришлёт ответ?


возможно


 
Nick2000   (2003-07-18 17:19) [2]

у Тхххххх.Socket. - есть SendText/ReceiveText.
Вот и создавай на его базе свой протокольчик :)

А там смотри состояния коннекта и дальше....шли все что захочешь...


 
Noro   (2003-07-19 03:14) [3]

Полностью с Вами согласен. Пытаюсь работать по принципу:
Посылаю строку серверу Name&Имя клиент,мол, если так прислал клиент, то ему(клиенту) нужно выслать List : Tlist. Ищу по handle"у клиента и делаю SendText("Size&"+IntToStr(SizeOf(List)))

SendBuf(List,SizeOf(List))
Соответственно у клиента
str:string;
str:= ReceiveTest;
if pos("Size&",str)>0 then ReceiveBuf и т.д.

Как я понимаю, проблема в том, что я не могу заставить работать всё это дело послндовательно


 
Del   (2003-07-19 04:05) [4]

Когда серверу приходит запрос "Name&Имя" - он высылает "Size&xx" и сами данные... Как я понимаю у серверу не требуется больше ничего. Так же я понимаю следующее: изначально ReadData : boolean = false;
как только клиент получает "Size&",то ReadData := True, и при следющем получение данных, опять проверяем значение ReadData, если True значит это уже данные! И читаем их соответственно!

if not ReadData then
begin
str:= ReceiveText;
if pos("Size&",str)>0 then ReceiveBuf... (принимаем сообщение о размере)
end
else
begin
принимаем данные (файл)
end;


 
Noro   (2003-07-19 16:58) [5]

Спасибо за помощь, поробую сделать так.



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

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

Наверх




Память: 0.45 MB
Время: 0.009 c
1-58627
rtooo
2003-09-05 12:57
2003.09.18
Помогите пожалуйста с закладками


3-58585
Lion
2003-08-26 23:39
2003.09.18
Перенос данных из одной БД в другую


14-58835
Knight
2003-08-31 22:57
2003.09.18
Помогите квест пройти...


11-58606
RWolf
2003-01-13 11:41
2003.09.18
KOLSocket, kolTCPSocket - не могу установить


14-58874
Экселенц
2003-08-24 18:29
2003.09.18
AIM





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский