Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Передача данных в локальной сети   Найти похожие ветки 

 
Темный2   (2007-01-04 15:23) [0]

Как можно передать/получить данные по локальной сети (String, Integer, Byte - без разницы)?


 
Ученик чародея ©   (2007-01-04 15:55) [1]

Открываешь TCP сокет и передаешь данные упакованные в командный протокол

Простейший вариант.
1 - номер команды (4 байта)
2 - длинна команды
3 - данные

Далее на основе CASE номера команды разбираешь данные в опеределенном формате.

из проекта:


Procedure TMailMessage.WriteDateTimeToStream(var MStr:TMemoryStream;DT:TDateTime);
begin
MStr.Write(DT,sizeof(DT));
end;

Procedure TMailMessage.WriteSizeAndStringToStream(var MStr:TMemoryStream;Str:string);
var len:integer;
begin
len:=length(Str);
MStr.Write(len,sizeof(len));
MStr.WriteBuffer(str[1],len);
end;

Procedure TMailMessage.WriteIntToStream(var MStr:TMemoryStream;i:integer);
begin
MStr.Write(i,sizeof(i));
end;

function TMailMessage.ReadIntFromStream(var MStr:TMemoryStream):integer;
begin
MStr.Read(Result,sizeof(Result));
end;

function TMailMessage.ReadDateTimeFromStream(var MStr:TMemoryStream):TDateTime;
begin
MStr.Read(Result,sizeof(Result));
end;

function TMailMessage.ReadSizedStringFromStream(var MStr:TMemoryStream):string;
var len:integer;
var lstr:string;
begin
MStr.Read(len,sizeof(len));
SetLength(lstr,len);
MStr.ReadBuffer(lstr[1],len);
Result:=lstr;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.027 c
15-1184328896
Суслик
2007-07-13 16:14
2007.08.12
Delphi2007 + Code folding


15-1184534328
Аффтар
2007-07-16 01:18
2007.08.12
Скачать *.avi


11-1167918954
First
2007-01-04 16:55
2007.08.12
Уничтожение таймера в OnTimer.


15-1184486603
TStas
2007-07-15 12:03
2007.08.12
Test


4-1172228437
jTommy
2007-02-23 14:00
2007.08.12
Различный цвет фона контрола и его владельца