Помогите с Socket !!!!
»»» Pavel - pavel@tts.tomsk.su (23.10.00 05:11) Как передать файл с машины на машину через Socket соединение? Как всегда нужны примеры ;-)
»»» oksana - oksana@wtgres.pssr.ru (23.10.00 07:24) Для данной цели можно воспользоваться компонентами TNMStrmServ и TNMStrm, которые предназначены для обмена потоками данных.
Обработчик для клиента:
var MyStream:TMemoryStream; begin MyStream:=TMemoryStream.Create; MyStream.LoadFromFile('c:\windows\рабочий стол\demo.txt'); NMStrm1.PostIt(MyStream); MyStream.Free; end;
Обработчик для сервера:
procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream); var MyStream:TMemoryStream; begin MyStream:=TMemoryStream.Create; MyStream.CopyFrom(strm,NMStrmServ1.BytesTotal);
MyStream.SaveToFile('c:\windows\рабочий стол\demo2.txt');!
end;
С уважением, Оксана
»»» shi - shi@tts.tomsk.su (23.10.00 11:44) Простите за глупый вопрос, но где взять TNMStrmServ и TNMStrm.
»»» oksana - oksana@wtgres.pssr.ru (23.10.00 12:51) В пятой дельфе (Enterprise) есть данные компоненты. Они находятся на вкладке FastNet С уважением, Оксана
»»» pavel - pavel@tts.tomsk.su (23.10.00 13:58) А если использовать TpowerSock то тогда как передать файл?
»»» oksana - oksana@wtgres.pssr.ru (23.10.00 14:55) На сколько мне не изменяет память, там возникают праблы с размерами файлов. Хотя попробывать стоит. Ведь там так же существуют методы для работы с потоками (чтение, запись). С уважением, Оксана
»»» Pavel - pavel@tts.tomsk.su (24.10.00 19:23) А как организовать двусторонний обмен файлами
ведь если я правильно понял то при помощи TNMStrmServ и TNMStrm поток инициируется!
со только стороны клиента. Одним словом передомной следующая задача: Программа клиент должна связаться с сервером передать ей файл потом запросить и принять определенный файл.
»»» oksana - oksana@wtgres.pssr.ru (25.10.00 05:28) Тогда можно писать по аналогии с Chat, пример которого присутствует в Demos. Таким образом, приложение у тебя выступает и в роли сервера и в роли клиента (два в одном), в зависимости от действий.
С уважением, Оксана
»»» pavel - pavel@tts.tomsk.su (25.10.00 05:47) А каким компанентом лучше воспользоваться?
»»» oksana - oksana@wtgres.pssr.ru (25.10.00 05:58) Для этих целей я использовала, выше названные, TNMStrmServ TNMStrm. С уважением, Оксана
»»» pavel - pavel@tts.tomsk.su (25.10.00 07:09) TNMStrmServ и TNMStrm как я понял не позволяют
делать двусторонний обмен или я не прав, и как от клиента к серверу передать запрос тип!
а "sendfile C:\text.txt"
»»» oksana - oksana@wtgres.pssr.ru (25.10.00 07:42) Вы правы. Клиент (TNMStm)- предназначен для отправления данных серверу (в данном случае потоков). А сервер для получения. Но ничего не может помешать в приложении вывесить эти два компонента, каждый из которых будет выполнять свои функции, при этом следует изменять свойство Host, каждого из них. Для правильного функционирования.
С уважением, Оксана
»»» pavel - pavel@tts.tomsk.su (25.10.00 08:05) Нехотелось бы на клиентской части размещать TNMStrmServ в целя безопасности. Может еще какой вариант посоветуете.
»»» oksana - oksana@wtgres.pssr.ru (25.10.00 08:38) А какие проблемы с безопасностью??? Обработчиков навесить и все в порядке. Активизировать компоненты при необходимости. Тогда можно попробывать использовать TPowerSock.
В нем в неопубликованном виде, присутствуют события TNMStrm а также следующ!
ие методы procedure CaptureStream(MainStream: TStream; Size: longint); чтение из сокета данных и помещение их в поток; procedure CaptureFile(FileName: String); //// помещение в файл; procedure SendFile(FileName: String); procedure SendStream(MainStream: TStream); В хелпе есть примеры по их использованию
С уважением, Оксана
»»» pavel - pavel@tts.tomsk.su (25.10.00 09:57) Всеже компанент TPowerSock больше подходит. Но тут возникает вопрос "Какое событие происходит на сервере при получении от клиента к примеру строки,а не потока"
»»» oksana - oksana@wtgres.pssr.ru (25.10.00 10:36) Данные передаются пакетами (порциями), поэтому не столь выжно, что это поток или строка. В момент приема очередной порции данных возникает событие: property OnPacketRecvd: TNotifyEvent;
С уважением, Оксана »»»
Mike Goblin - mgoblin@mail.ru (25.10.00 10:42) А может быть проще FTP сервер поста!
вить и не заниматься изобретением велосипеда, С уважением, Mike Goblin
»»» pavel - pavel@tts.tomsk.su (25.10.00 12:27) А где взять компанент для FTP сервера?
»»» Mike Goblin - mgoblin@mail.ru (25.10.00 13:08) В Win NT а еще лучче в Linux есть уже готовые сервера FTP Настаиваешь права доступа пользователей и с помощью Internet Explorer или Netscape или еще какого браузера имеешь пересылку файлов туда-сюда без всякого геморроя и в пределах локалки, а если есть статический IP в Inete - хоть по всему шару. Если уж совсем невмоготу и хочется что-то сваять на Делфи на закладке FastNet берешь NMFTP и лепишь клиента, там все до безобразия просто.
»»» Shi - Shi@tts.tomsk.su (28.10.00 10:52) Как правильно описать событие OnPacketRecvd у компанента TPowerSock ведь его нет в разделе Events?
»»»
oksana - oksana@wtgres.pssr.ru (30.10.00 12:02) Для формы :procedure Power!
sock1PacketRecvd(Sender: TObject); Далее:
procedure TForm1.Powersock1PacketRecvd; begin
end;
С уважением, Оксана
-= Из конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-
Создание апплетов панели управления в Delphi5
Практически любое серьезное приложение требует для своей работы настройки каких-либо параметров. Одним из способов является создание меню пункта "Сервис" в самом приложении. В том случае, если параметры приложения изменяются достаточно редко и/или желательно иметь отдельное приложение для управления настройками, хорошим решением является использование панели управления
Shareware : профессиональная разработка и продвижение программ
Рассматриваются особенности создания условно-бесплатных программ, приводятся рекомендации по разработке интерфейса и оформлению документации, обсуждаются теоретические и практические вопросы проектирования, рекламы, маркетинга и технической поддержки создаваемого программного продукта. Книга содержит примеры удачной разработки и реализации программ из мировой и российской практики. Множество иллюстраций дает возможность более наглядно представить объем и качество работы, необходимой для создания программ на профессиональном уровне.
Автор: Жарков С.
Курс борьбы с DELPHI Сайт переехал с сервера hoha.ru - обширный FAQ по DELPHI - множество статей (Принципы объектно-ориентированного визуального программирования. Описание основных компонент Delphi. Понятия ...
» Оценка сайта: 3
Опрос населения :)
Стоит ли устраивать встречи программистов в реале? (пирушки :)
Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.
Для души
Хокку дня
Сентябрьских яблок Тонкая кислинка, И губ твоих...
Афоризмы
Согласно закону Запада, кольт 45-го калибра бьет четырех тузов (Билл Джонс)
Фраза дня
Частолюбивая женщина.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Блит в Калифорнии (США) вы можете носить ковбойские сапоги только в том случае, если у вас есть не менее двух коров.
В городе Барлингейм (США) в том же штате запрещено плеваться - если только вы не на бейсбольном стадионе во время матча.
И на закуску коротенький анекдот
Пиратская продукция заполонила прилавки: абордажные крючья, чёрные метки, ямайский ром, порох, солонина, сундуки мертвеца, аркебузы и попугаи по демпинговым ценам вытесняют с рынка аналогичные отечественные товары...