Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TCP/IP


Автор: Melancholy 10.9.2002, 21:21
Помогите с написанием проги, которая копирует файл с другого компа на свой комп через сетку.
PS с сеткой не разу не кодил(я).

Автор: кварк 10.9.2002, 22:46
1) Мапишь сетевой диск (через проводник)
2) пользуешь BOOL CopyFile(LPCTSTR lpszExistingFile, LPCTSTR lpszNewFile, BOOL fFailIfExists)

Или есть сложности?

Автор: Vit 10.9.2002, 23:36
Цитата
1) Мапишь сетевой диск (через проводник)
2) пользуешь BOOL CopyFile(LPCTSTR lpszExistingFile, LPCTSTR lpszNewFile, BOOL fFailIfExists)

Или есть сложности?

Без первого пункта можно обойтись, нужен только доступ на запись в папку удалённого компьютера, а там копируешь файл с локального компьютера на адрес:

\\MyRemotePCName\MyRemoteSharedFolder\MyFileName

Естественно подставив реальные значения MyRemotePCName, MyRemoteSharedFolder, MyFileName

Автор: Melancholy 11.9.2002, 18:48
Надо использовать TCP/IP.
В дополнение могу сказать, что такая же прога должна быть и на других компах.
ЗЫ Еще надо узнавать инфу о файлах (размер и дата создания или последнего изменения)

Автор: Vit 11.9.2002, 23:37
Цитата
Надо использовать TCP/IP.


А зачем работать на уровне протокола? Какая разница? Если у тебя есть доступ к папке на удалённом комнютере то ты работаешь с файлами практически так же как с локальными, включая и узнавание инфы о файле. Если сетевой диск mapped, то обращение к файлам вообще не отличается от локальных, а если нет, то используй путь как я тебе сказал. Практически отличие будет только одно - у тебя нет возможности обращаться к диску на низком уровне (сектора, кластеры, дорожки), остальные функции - чтение, запись, открытие, размер файла, атрибуты, даты создания, изменения и т.д. всё доступно совершенно стандартными методами вне зависимости каким сетевым протоколом это обеспечивается.

Автор: Song 12.9.2002, 00:51
Цитата(Melancholy @ 11.9.2002, 11:48)
Надо использовать TCP/IP.

Для этой цели не требуется дополнительного сервера-клиента.
Протокол SMB (доступ к файлам по абсолютному пути, например //Server/C/a.txt) давно уже вошёл как стандартный. И когда Вы делаете CopyFile() все необходимые действия за Вас сделает машина.

Автор: Melancholy 13.9.2002, 08:18
И все таки надо с TCP/IP... Сам незнаю почему, но так сказано (преподом). Кстати диск не мапетый.

Автор: Vit 13.9.2002, 23:41
Ну и используй копирование файла любым способом, только название компьютера поставь в виде IP адреса:

\\10.10.1.3\MySharedFolder\MySharedFile

Тогда любая функция доступа к файлу будет использовать TCP/IP уже хотябы для нахождения компьютера...


PS. Такая постановка напоминет мне задачу, что надо сделать радиоприёмник обязательно с использованием кремния, и никакие доводы что используемые транзисторы уже сделаны из кремния не помогают - упорно требуется включить в процесс сборки радиоприёмника кремний...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)