Главная страница
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.47 MB
Время: 0.026 c
2-1184221584
Aletar
2007-07-12 10:26
2007.08.12
Popup меню в ListView


15-1184214406
Riply
2007-07-12 08:26
2007.08.12
Владпута, Едрос.


15-1184481774
Kolan
2007-07-15 10:42
2007.08.12
Какой таб открыть следующий или пред идущий? Вопрос по UseAbility


2-1184827082
Mari
2007-07-19 10:38
2007.08.12
как зная название поля узнать тип его?


1-1180699210
DevilDevil
2007-06-01 16:00
2007.08.12
Frame.OldCreateOrder,PixelsPerInch,TextHeight. Откуда?