|
|
Регистрация | << Правила форума >> | 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), чтобы перестраховаться.
Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. |
#6
|
||||
|
||||
протокол tcp/ip это - «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных.
Пишу программы за еду. __________________ |
#7
|
||||
|
||||
Цитата:
Сорри, не заметил TCP протокола. У меня все работает отлично, как часы. Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. |
#8
|
|||
|
|||
что то не так
в архиве исходник. я хотел сделать чтобы файл передовался от клиента к серверу (любой файл), ворд ексел, текстовый, чтобы отправил файл 111.док он также сохранился 111.док. но сверяю размер и он отличаеться.
http://zalil.ru/32426172 |