![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте! почему когда я отправляю файл в нем теряються буквы в нутри?
как этого можно избежать?Код:
IdTCPClient1.Host:='127.0.0.1';
IdTCPClient1.Port:=8080;
IdTCPClient1.Connect();
{IdTCPClient1.WriteLN('1111111111');}
FileStream:=TFileStream.Create('name.txt',fmOpenRead);
IdTCPClient1.WriteStream(FileStream);
IdTCPClient1.Disconnect;
FileStream.Free;Код:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
bsSkinMemo1.Lines.Add(AThread.Connection.ReadLn);
MemStream:= TMemoryStream.Create;
AThread.Connection.ReadStream(MemStream);
MemStream.SaveToFile('152.txt');
MemStream.Free;
end; |
|
#2
|
||||
|
||||
|
в смысле из слов буквы выпадают?)
Последний раз редактировалось NumLock, 29.12.2011 в 13:19. |
|
#3
|
|||
|
|||
|
в текстовом документе написал "1000000000000000000000000002" а пришел файл с текстом "000000000000000000000002"
|
|
#4
|
||||
|
||||
|
Код:
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
IdTCPServer1: TIdTCPServer;
IdTCPClient1: TIdTCPClient;
procedure Button1Click(Sender: TObject);
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
procedure TForm1.Button1Click(Sender: TObject);
var
AStringStream: TStringStream;
begin
IdTCPClient1.Connect;
AStringStream:=TStringStream.Create('Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Sockets, IdTCPConnection, IdTCPClient, IdBaseComponent, IdComponent, IdTCPServer;');
IdTCPClient1.WriteStream(AStringStream, True, True);
AStringStream.Free;
IdTCPClient1.Disconnect;
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
AStringStream: TStringStream;
begin
AStringStream:=TStringStream.Create('');
AThread.Connection.ReadStream(AStringStream);
Memo1.Lines.Add(AStringStream.DataString);
AStringStream.Free;
end; |
|
#5
|
||||
|
||||
|
Используй хеш-сумму (напр. MD5 или CRC32), чтобы перестраховаться.
|
|
#6
|
||||
|
||||
|
протокол tcp/ip это - «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных.
|
|
#7
|
||||
|
||||
|
Цитата:
Сорри, не заметил TCP протокола. У меня все работает отлично, как часы. |
|
#8
|
|||
|
|||
|
в архиве исходник. я хотел сделать чтобы файл передовался от клиента к серверу (любой файл), ворд ексел, текстовый, чтобы отправил файл 111.док он также сохранился 111.док. но сверяю размер и он отличаеться.
http://zalil.ru/32426172 |