Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

пересылка фалов посредствам winsock

Здравствуйте comp,
Как можно отослать файл на другой комп при помощи обычных сокетов?
Думаю что при помощи clientsocket1.Socket.SendStream, или
clientsocket1.Socket.SendBuf, но понятия не имею как это дело юзать=(

Ответить   Fri, 13 Feb 2004 18:50:22 +0200 (#79571)

 

Ответы:

На http://www.forum.vingrad.ru/index.php?act=SF&f=32 есть прекрасный справочник
Delphist'sFAQ, а в нем большая статья.
Если не найдете, то напишите
С уважением,
Борис Сурин, surin_***@m*****.ru

Номер выпуска : 1984
Возраст листа : 145 (дней)
Количество подписчиков : 387
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/79581
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Fri, 13 Feb 2004 20:03:16 +0300 (#79581)

 

Ну в обшем ты прав, можно и так в SendBuf указываешь переменную в которой
хранятся данные и её размер чарез sizeof во втором случае указываешь поток
т.е. файл, память или строку зарегестрированную особым образом TFileStream,
TMemoryStream, TStringStream; эти 3 типа как братья близнецы - обекты. т.е.
сначала создаешь объект, обробатываешь, отправляешь и закрываешь.
Если на компе приемнике есть сервер, можно использовать FTP:\\ , HTTP:\\
или почтовые портоколы.

С уважением monah
janal***@n*****.ru
Номер выпуска : 1987
Возраст листа : 145 (дней)
Количество подписчиков : 387
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/79717
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sat, 14 Feb 2004 01:12:39 +0600 (#79717)

 

Здравствуйте monah,

Friday, February 13, 2004, 9:12:39 PM, вы писали:

Да, на другом компе есть приемник, но я незнаю как это сделать...
Кинь плз пример.

Ответить   Sat, 14 Feb 2004 18:23:21 +0200 (#80343)

 

Прив!
Какой именно пример?
Потоки, Сокеты, FTP,HTTP?

Номер выпуска : 2007
Возраст листа : 147 (дней)
Количество подписчиков : 385
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/80362
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Sun, 15 Feb 2004 12:01:40 +0600 (#80362)

 

Здравствуйте monah,

Sunday, February 15, 2004, 8:01:40 AM, вы писали:

hi

Без разницы, мне нужно только чтобы это работало если приемник и
сервер соединены с помощью обычного модемного соединения(не
интернет!).

Ответить   Sun, 15 Feb 2004 19:45:50 +0200 (#81501)

 

Прив!
Значит модем!
Я думаю лучше пойдет ФТП, ему пофиг, текст, файл. В 5 и 6 Делфе на FastNet
есть TNMFTP все!
Host - имя сервера. Паспорт и логин и ежу ясногде.
методы conect/disconect
upload(localfile, remotefile:string); закачать на сервер.
ChangeDir(dn:string); смена директории(в пределах доступа!)
ну и т.д. около 20 методов событий и свойств. Если надо вышлю.
Но ни кто тя не пустит без админа! Если не знаешь надо ломать.
А это морока! хоть и проги есть но...

С уважением monah
janal***@n*****.ru
Номер выпуска : 2036
Возраст листа : 148 (дней)
Количество подписчиков : 386
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/81644
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 17 Feb 2004 00:13:43 +0600 (#81644)

 

Здравствуйте monah,

Monday, February 16, 2004, 8:13:43 PM, вы писали:

Вот в этом и весь смысл.

Думаю, что можно заюзать потоки, но что-то не выходит, блин. Или слать
строчками по 1024 байта, но это тоже морока!
Повторяю, вопрос все ещё не решен.

Ответить   Wed, 18 Feb 2004 14:03:14 +0200 (#83130)

 

Здоров!
Как я понял, ты хош сломать чужой сервак получив доступ админа?
Это тяжкий труд, даже с подготовкой, есть пара прог (не моих правда) но
должны быть исходники, они подбирают параметры, но это долго, и висишь в
сети все время. Работают чисто подбором.
Или я не так понял? Если так, то это мах чем могу.

С уважением monah
janal***@n*****.ru

Номер выпуска : 2047
Возраст листа : 150 (дней)
Количество подписчиков : 390
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/83254
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Wed, 18 Feb 2004 20:29:49 +0600 (#83254)

 

Здравствуйте monah,

Wednesday, February 18, 2004, 4:29:49 PM, вы писали:

Прива!

Да никого я нехочу ломать! Я хочу всего лишь переслать файл с одного
компа на другой, имея на одном компе приемник, на другом сервер.

Ответить   Wed, 18 Feb 2004 19:19:47 +0200 (#83517)

 

Здравствуйте, keel


Если Вы предполагаете, что в функциях winsock (как вы их сами
называете), есть что-то типа "отправить файл", то это не верно.

Сокет предназначен для отправки массива байт. По сути сокет - это
абстрактное обозначение компьютера и программы прикладного уровня
на нем (не берем в расчет raw-сокеты). Ваша задача может иметь
несколько решений. Выбор решения зависит от ряда фактов.

С минимумом затрат можно сделать так:
Клиент коннеститься к серверу. ( кто клиент, кто сервер -
непринциписально).
Один из компов получает команду от пользователя - послать файл.
Он получает размер файла, и отправляет размер файла в первых 4 байтах
первого пакета (clientsocket1.Socket.SendBuf), остальные байты пакета
содержат первую порцию передаваемого файла (о размере порции ниже).
Второй комп получает пакет и извлекает размер файла из первых 4-х
байт. После чего принимает из сокета столько байт, сколько было
указанно.

Замечания:
1. Если Вы пользуете сокеты TCP, то данный метод гарантирует доставку
всего пакета в правильной последовательности при наличии соединения.
При этом размер одной посылки лучше устанавливать 1.2-1.4Кб

2. Если Вы пользуете UDP - нужен контроль доставки (запрос,
подтверждение и т.д.)

3. Все это работает для TCP/IP стека протоколов. (В интернете будет
работать, в локалке будет работать, с модемом нужно поступить
подругому.)

4. Модем устанавливает соединение с другим модемом и после этого
становиться "квази - прозрачным" каналом связи. Т.е. Вы пишите байт в
com-порт, а с другого конца он вываливается :). Как Вы должно быть
догадались, в этом случае никаких адресов, сокетов, пакетов и т.д.
нет. Однако достоверная доставка байта гарантируется при наличии
соединения.

5. Как установить модемное соединение? запишите в com-порт ASCII-коды
строки "ATDP 8P9282000000". Цифры - номер телефона. P - пауза. В
конце строки нужно записать в порт код #13 - "возврат коретки".
Для более подробной информации читайте MSDN и ищите в интернете
AT-команды или (что тоже самое) hayes-codes.

6. В состав ОС W98 входит программа "Сервер удаленного доступа". Эта
прога превращает модемное соединение в локальную сеть на два компа :)
Вы работаете с удаленной машиной так, как будто Вы работаете не по
модему, а по локальной сети TCP/IP.


Вот так.

Ответить   Болюба Георгий Wed, 18 Feb 2004 16:32:34 +0300 (#83161)

 

Здравствуйте Болюба,

Wednesday, February 18, 2004, 3:32:34 PM, вы писали:


Извините, но где я сказал

По-моему, SendStream или SendBuf это не "функция для отправки фалов".

Ответить   Wed, 18 Feb 2004 19:15:38 +0200 (#83516)

 

Здравствуйте,keel.

А где я сказал, что Вы сказали?
Я всего лишь сказал: "Если Вы предполагаете...", т.к. вопрос ваш был
достаточно нечетко сформулирован.

Согласен абсолютно.

Ответить   Болюба Георгий Thu, 19 Feb 2004 12:36:13 +0300 (#84000)

 

Приветствую!
Допустим два компа соединены между собой модемным соединением(клиент
позвонил серверу, они соединились), как определить к какому
хосту/адресу коннектиться?

Ответить   Wed, 18 Feb 2004 19:18:15 +0200 (#83514)

 

Смотришь в свойства соединения -- там все прописано

Original Message From: "keel" <dima***@s*****.by>
To: "comp.soft.prog.prog (200822)" <om***@p*****.net>
Sent: Wednesday, February 18, 2004 9:18 PM

Номер выпуска : 2060
Возраст листа : 151 (дней)
Количество подписчиков : 392
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/83807
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   "Sn" Thu, 19 Feb 2004 08:16:18 +0400 (#83807)

 

Здравствуйте,keel.

Вы читали письмо, которое я писал про модем и TCP/IP?

В простом модемном соединении __нет__ ни клиента ни сервера. Эти
термины не применимы к _чистому_ модемному соединению.

Опишите ситуацию более подробно, пожалуйста.

Ответить   Болюба Георгий Thu, 19 Feb 2004 12:39:40 +0300 (#84074)