Форум: "Сети";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизIndy и пересылка Stream Найти похожие ветки
← →
Nostradamus © (2006-06-07 03:24) [0]Есть Сервер с TIdCmdTCPServer и Клиент с TIdCmdTCPClient
По нажатию кнопки на клиенте он отсылает команду серверу в ответ на которую сервер шлёт Stream.
Делал так:
Клиент:
TCPClient.SendCmd("GETFILE");
M := TMemoryStream.Create;
try
TCPClient.IOHandler.ReadStream(M);
...
finally
M.Free;
end;
...
Сервер:
procedure TMain.TCPServerCommandHandlers2Command(ASender: TIdCommand);
var
F : TFileStream;
begin
ASender.Reply.NumericCode := 200;
ASender.Reply.Text.Text := "OK, Sending file";
ASender.Disconnect := False;
ASender.SendReply;
F := TFileStream.Create(FileLocation, fmOpenRead);
try
ASender.Context.Connection.IOHandler.Write(F);
finally
F.Free;
end;
end;
Происходит следующее:
а) клиент говорит, что неверный Reply Code (TCPClient.SendCmd("GETFILE");)
б) клиент виснет напрочь на TCPClient.SendCmd("GETFILE");
Подскажите пожалуйста, в чём проблема, что я сделал не так.
Если тестировать спомощью Telnet, то всё работатет правильно.
П.С. Раньше я сетями никогда не занимался, так что не судите строго
← →
Nostradamus © (2006-06-08 00:42) [1]засунул чтение в клиенте в Thread теперь прога не виснет, но и ничего не читается:
TCPClient.IOHandler.Readable возвращает всегда False
TCPClient.IOHandler.WaitFor - возбуждает исключение "Buffer start position is invalid"
Помогите разобраться, плиз, в чём ошибка?
← →
Belorus © (2006-07-02 22:04) [2]Актуально. У мну на ReadStream виснет
← →
Дмитрий Белькевич © (2006-07-03 04:20) [3]Не знаю, честно говоря, как индей файло слать, не было необходимости, но поглядел на код - как я понимаю, нужно как минимум ответ забрать. Да и вообще - зачем отвечаешь? Попросил - в ответ поток. Всё. Вообще с индей примеров большая куча была, пересылка там должна быть.
← →
Дмитрий Белькевич © (2006-07-03 04:22) [4]Чуть выше, кстати, болтается ссылка на перевод книги "indy inside" от г-на Погорецкого (за что ему отдельная благодарность), посмотри там. Книга прочитана, и забыта, как обычно ;)
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.121 c