![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обмен данными по локальной сети [Delphi, Windows]
Hino © (2004-01-01 20:35:00)Вопрос. Каким образом лучше всего обмениваться файлами между сервером и несколькими клиентскими компьютерами? Почитав здесь в форуме, пришел к выводу, что распространены 2 способа: Socket и DCom. Подскажите, в каком из этих двух вариантов лучше всего реализовать свой проект (Delphi 7)?
Суть задачи примерно в следующем: есть компьютер, на котором лежит куча графических и текстовых файлов. С других компьютеров нужно иметь возможность увидеть эти файлы, возможно сделать какие-то изменения в текстовых файлах и сделать сохранения. БД и Sharing исключены. Коннекты идут одновременно.
Спасибо.
vengo (2004-04-28 11:49:00) [1]Если тебе необходимо вносить изменения в файлы, доступ к которым имеют одновременно несколько пользователей, то тебе прийдется рашать кучу проблем, которые уже решены в SQL Server.
clickmaker (2004-04-28 10:12:00) [2]
> Максим (28.04.04 02:26) [5]
> А как засунуть файл в OLEVariant? и его потом передавать?
var
V: OleVariant;
Stream: TFileStream;
P: Pointer;
Stream := TFileStream.Create(FileName, fmOpenRead);
try
V := VarArrayCreate([0, Stream.Size-1], varByte);
P := VarArrayLock(V);
try
Stream.Read(P^, Stream.Size);
finally
VarArrayUnlock(V);
end;
finally
Stream.Free;
end;
При этом можно еще заюзать какую-нить библиотеку для сжатия файла в памяти, н-р ZLib
Максим (2004-04-28 02:26:00) [3]А как засунуть файл в OLEVariant? и его потом передавать?
Леонов Александр (2004-04-15 16:34:00) [4]Для обмена информацией между приложениями, работяющих как на одной машине, так и в сети, я бы порекомендовал применять что то из продуктов класса MOM (IBM MQSeries, SonicMQ и т.п.).
Очень удобная вещь.
Технология mailslot показалась для меня (на практике конечно) отвратным решением.
Технология pipe - для нее нужена машина класса НТ. 9х м.б. клиентом, а сервером нет.
kostik78ua (2004-02-13 15:18:00) [5]наверное лучше сокеты.
а еще есть средства pipes и mailslot
just me (2004-02-13 14:24:00) [6]А можно еще заюзать Intranet-технологии, поставить в локальной сети Веб-сервер (IIS например) и пользоваться FTP.
А еще в виндах начиная с W2K есть такая мощная штука, как COM+ Pipes, утверждается, что это чуть ли не наиболее мощный способ паредачи данных. Но примеров никаких толковых не нашел пока...
clickmaker (2004-02-13 12:17:00) [7]В принципе, большими файлами лучше обмениваться по сокетам, поскольку DCOM работает с данными типа OleVariant, и при прочих равных будет медленнее. С другой стороны, DCOM удобен с точки зрения использования, т.к. там можно все свести к вызовам методов сервера. Можно юзать DCOM + сжатие файлов в памяти перед передачей