Текущий архив: 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