Главная страница
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.47 MB
Время: 0.021 c
1-58766
Vlad25
2003-09-05 14:24
2003.09.18
Иконки для кнопок


1-58711
Vitalygavrilov
2003-09-08 09:40
2003.09.18
Ввести по клику новые данные в Combobox


1-58660
Tornado
2003-09-05 08:16
2003.09.18
Ресурсы в DLL


14-58897
Жук
2003-08-29 08:46
2003.09.18
Результаты жеребьёвки ЛЧ


7-58956
Borgir
2003-07-07 08:19
2003.09.18
COM-порт