Главная страница
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
3-1177672039
DelphiLexx
2007-04-27 15:07
2007.08.12
DBGridEh1.SumList.RecalcAll приводит к блокировке DBGridEh2


2-1184746723
Апостол тибии
2007-07-18 12:18
2007.08.12
буфер обмена виндовс


3-1177516281
Антон Шестаков
2007-04-25 19:51
2007.08.12
dbgrid наподобие treeview


3-1177243506
ZevSS
2007-04-22 16:05
2007.08.12
Обратная связь с MS SQL


15-1184365759
lookin
2007-07-14 02:29
2007.08.12
Чего не спите?