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

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



Память: 0.46 MB
Время: 0.016 c
3-58594
3APA3A
2003-08-26 14:17
2003.09.18
Выбрать все записи в таблице


1-58683
Dimich1978
2003-09-04 15:47
2003.09.18
Как БЫСТРО найти слово в текстовом файле


1-58639
Pavel Oliynik
2003-09-05 12:17
2003.09.18
проблема с Application.ProcessMessage


1-58688
Zeus
2003-09-08 12:24
2003.09.18
Копирование свойств формы


1-58725
titnn
2003-09-07 09:00
2003.09.18
а как бы это по красивее сделать ...




   Наверх