Общение без границ

Главная | Регистрация | Вход
Суббота, 27.04.24, 00:08
Приветствую Вас Странник | RSS
Авторизация
Друзья
Поиск

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Модератор форума: [C]RaSh, Harry_Haller  
Форум хорошего настроения и общения » IT-технологии » Программирование » Пересылка файлов через Socket (TServerSocket & TClientSocket)
Пересылка файлов через Socket
AllMaNiДата: Среда, 13.05.09, 13:07 | Сообщение # 1
Жжот йопта
Группа: Администраторы
Сообщений: 1130
Награды: 1
Репутация: 118
Статус: Offline
Исходники и сами приложения демонстрирующие реализацию передачи файлов в локальной сети посредством стандартных компонентов Delphi (лично я использовал седьмую, думаю без изменений и на 6 прокатит).
Используются TServerSocket & TClientSocket.
Файл помещается в MemoryStream и затем поток отсылается.
В качестве теста - оправил и принял файл размеров 80 метров smile
При приеме - клиент жрет 100% системных ресурсов smile Но передача идет стабильная. Скорость не замерял.

Еще одна особенность - клиент сохраняет файл по тому же пути, откуда его передал сервер.
То есть, если пересылать самому себе(с 127.0.0.1 на 127.0.0.1) то файл тупо перезапишется.

Вот собственно и все.
Сначала запускаете сервер, затем клиента. Вводите имя(путь к файлу, если файл не в папке с программой).

Может кому пригодиться, я долго искал и ковырялся.

Прикрепления: Archive.rar (296.7 Kb)


Имеющий мозги и руки
Никогда не здохнет от голода и скуки
***********************************
Нет того, чего я незнаю, есть то, чем я пока не заинтересовался.
***********************************
Закрой дверь и никого не впускай - меня не будет несколько лет!
***********************************
Как известно, чтобы сбить человека с мысли, достаточно облить его молоком и поджечь.
 
OXYGENEДата: Среда, 13.05.09, 14:51 | Сообщение # 2
Соучастнег
Группа: Проверенные
Сообщений: 549
Награды: 0
Репутация: 33
Статус: Offline
Quote (AllMaNi)
Еще одна особенность - клиент сохраняет файл по тому же пути, откуда его передал сервер.

А если принять поток и потом просто его пересохранить по нужному пути.





 
AllMaNiДата: Среда, 13.05.09, 18:51 | Сообщение # 3
Жжот йопта
Группа: Администраторы
Сообщений: 1130
Награды: 1
Репутация: 118
Статус: Offline
OXYGENE, нашел где трабла чуть похже:)
посылается,
MS := TMemoryStream.Create; // Создаём буфер для файла
MS.LoadFromFile(Edit1.Text); // Загружаем файл в буфер
// Посылаем информацию о файле (команда # название # размер)
ServerSocket1.Socket.Connections[0].SendText('file#'+Edit1.Text+'#'+IntToStr(MS.Size)+'#');

а сохраняется,

Rtext := Socket.ReceiveText;
Name := Copy(Rtext, 0, Pos('#', Rtext) -1);
MS.SaveToFile(Тame);

Вообщем, кому надо - поправят:)

п.с. опять же эта прога - чать моей дипломной работы - упреждая вопрос - нафиг она нуна:)


Имеющий мозги и руки
Никогда не здохнет от голода и скуки
***********************************
Нет того, чего я незнаю, есть то, чем я пока не заинтересовался.
***********************************
Закрой дверь и никого не впускай - меня не будет несколько лет!
***********************************
Как известно, чтобы сбить человека с мысли, достаточно облить его молоком и поджечь.
 
OXYGENEДата: Пятница, 15.05.09, 20:16 | Сообщение # 4
Соучастнег
Группа: Проверенные
Сообщений: 549
Награды: 0
Репутация: 33
Статус: Offline
AllMaNi, А какая у тебя тема дипломной ?




 
AllMaNiДата: Суббота, 16.05.09, 13:00 | Сообщение # 5
Жжот йопта
Группа: Администраторы
Сообщений: 1130
Награды: 1
Репутация: 118
Статус: Offline
вот тута мы ее озвучили

Имеющий мозги и руки
Никогда не здохнет от голода и скуки
***********************************
Нет того, чего я незнаю, есть то, чем я пока не заинтересовался.
***********************************
Закрой дверь и никого не впускай - меня не будет несколько лет!
***********************************
Как известно, чтобы сбить человека с мысли, достаточно облить его молоком и поджечь.
 
Форум хорошего настроения и общения » IT-технологии » Программирование » Пересылка файлов через Socket (TServerSocket & TClientSocket)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024 | Хостинг от uCoz