Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
ВнизСлушатель порта Найти похожие ветки
← →
VRSB © (2007-08-31 11:49) [0]Такая проблема:
Есть сервер с которого может быть отправлен текстовый файл. Также к серверу подключено множество клиентов. Для всех клиентов определен один IP адрес (система тонкий-клиент). Все клиенты отличаются друг от друга только портом. Например, 111.111.111.111:хххх, где хххх - порт. Задача: необходимо слушать порт, до тех пор, пока в нем не появится файл. Потом этот файл загрузить и сохранить на диске клиента. Пожалуйста, предложите какие-нибудь варианты.
← →
Сергей М. © (2007-08-31 11:53) [1]
> слушать порт
Порт вообще-то "слушает" сервер.
А ты о ком ведешь речь ?
← →
VRSB © (2007-08-31 11:57) [2]
> > слушать порт
>
>
> Порт вообще-то "слушает" сервер.
> А ты о ком ведешь речь ?
Сергей М., может не правильно выразился. Дело в том, что необходимо, чтобы клиент ждал файла с сервера. И только при получении данных клиентская часть начинала работать. Постоянное сканирование одного каталога на сервере не подходит, так как клиентов может быть много.
← →
Сергей М. © (2007-08-31 12:02) [3]
> слушать порт, до тех пор, пока в нем не появится файл
Во-первых, в порту нет никаких файлов. Порт - это порт, а файл - это файл, у них разные определения и разные функциональные задачи.
Поясни, что ты подразумеваешь под сервером и его клиентами. Это приложения твоей разработки ?
← →
VRSB © (2007-08-31 12:12) [4]Сергей М. , мы гоням воду в пустую. Мне надо, чтобы клиент ждал файла. И только тогда когда он появился бы на сервере в определенном каталоге, клиент мог бы его забрать. Каким образом, он будет ждать файла мне мягкое говоря наплевать. Главное, чтобы в момент ожидания файла сеть не была занята тысячами запросами: "А нет ли в каталоге такого файла?". Давайте конструктивнее.
← →
Сергей М. © (2007-08-31 12:15) [5]
> мы гоням воду в пустую
Я тоже так думаю. Ты не хочешь отвечать на уточняющий контрвопрос, а я не хочу телепатировать.
← →
VRSB © (2007-08-31 12:29) [6]Хорошо. Данные должны передаваться по протоколу TCP/IP. От сервера к клиенту, НЕ по запросу клиента, а по инициативе сервера. Как мне это реализовать, подскажите пожалуйста.
← →
Сергей М. © (2007-08-31 12:32) [7]Т.е. на самом деле никакого "сервера" и "клиента" пока не существует, и ты как раз озабочен их разработкой, так ?
← →
VRSB © (2007-08-31 12:42) [8]Существует сервер и множество клиентов. На клиентских машинах висит программа, которой нужен файл, который может сформироваться только на сервере. Мне нужно передать файл от сервера к клиенту.
← →
Сергей М. © (2007-08-31 12:46) [9]И вновь ничего не понятно.
> На клиентских машинах висит программа
Твоя программа ?
> сформироваться только на сервере
Программа-сервер твоя ?
← →
VRSB © (2007-08-31 13:07) [10]А, теперь я все понял. Значит так: на клиенте есть программа МОЯ. Которая работает с файлом определенным образом (не важно каким).
Сервер - физический. комп. к которому подключены физические машины. Проблема: вся сеть, завязана на системе тонкий-клиент - Маленькие компьютеры, спец.разработаны для офисной работы. У тонкого клиента нет IP адреса, точнее есть но на всех тонкий клиентов всего один IP. Разным будет только порт. На сервере установлена программа, которая формирует файлы (не важно как). Задача: получить от программы с сервера файл в программу клиента и обработать.
← →
Сергей М. © (2007-08-31 14:37) [11]Вот теперь более-менее ясно.
Теперь ответь на вопрос - имеешь ли ты возможность разработать свои программу-клиент и программу-сервер и разместить их должным образом соответственно на машинах-клиентах и машине-сервере ?
← →
grisme © (2007-09-01 01:05) [12]каждому "клиенту"(в твоем понятии) программа-сервер в лыжные палки, а тот, что "сервер" - есть клиент :o) вот пускай "сервер" устанавливает соединения с "клиентами"(на общий ип и частный порт, для каждого) и передает им файл :o)
← →
Германн © (2007-09-01 01:41) [13]
> grisme © (01.09.07 01:05) [12]
>
> каждому "клиенту"(в твоем понятии) программа-сервер в лыжные
> палки, а тот, что "сервер" - есть клиент :o) вот пускай
> "сервер" устанавливает соединения с "клиентами"(на общий
> ип и частный порт, для каждого) и передает им файл :o)
>
Имхо, твой выстрел "в молоко". Нет у автора сабжа никаких программ на "сервере" и, скорее всего, не предвидится.
Но пусть он сначала ответит на
> Сергей М. © (31.08.07 14:37) [11]
← →
Anatoly Podgoretsky © (2007-09-01 09:48) [14]> grisme (01.09.2007 01:05:12) [12]
Сервера не устанавливают соединения с клиентами, это прерогатива клиента, если кто то подобное делает, то он не сервер, а клиент.
← →
Anatoly Podgoretsky © (2007-09-01 09:49) [15]
> Для всех клиентов определен один IP адрес
А это что за бред, или клиент установлен во множестве на одном компьютере?
← →
VRSB © (2007-09-03 09:11) [16]Отвечаю всем и последний раз и закрываю этот бред, который ВЫ ТУТ развели:
IP адрес один потому, что терминальный сервер он один, у него один IP адрес. К терминальному серверу коннектятся терминальный клиенты (тонкие клиенты). На тонком клиенте нету ДАЖЕ ОС. Там жестко прописано в микросхеме "законнектится к ОС на терминальном сервере" и все. Да IP адреса для каждого терминального клиента будут виндой присвоены, но толку никакого, т.к. на тонком клиенте нет винта. На терминальном сервере может быть разным только порт у IP адреса. Таким образом, посылая данные с еще одного сервера (допустим BBB) на терминальный сервер мы укажем IP 111.111.111.111:xx, где хх - порт. Смысл, во всем этом - адресовать данные c (BBB) к каждому терминальному клиенту. Вот и все в чем весь смысл, легко и просто.
А вот,что я придумал в отличие от вас всех:
NMStrmServ1 - компонент у которого можно указать порт, а хост даже оставить пустым и пару строк кода:
procedure TForm1.NMStrmServ2MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
MyStream: TMemoryStream;
begin
MyStream := TMemoryStream.Create;
MyStream.CopyFrom(Strm, NMStrmServ1.BytesTotal);
MyStream.SaveToFile("D:\new_file_20005.txt");
end;
Создавая нудное количество компонентов и указывая для каждого компонента свой порт можно получить то, что мне нужно. Прога ждет с каждого порта данные.
Все тема закрыта, не пишите сюда больше.
← →
Сергей М. © (2007-09-03 09:19) [17]
> NMStrmServ1 - компонент у которого можно указать порт, а
> хост даже оставить пустым
А мужики-то и не знают)
Мда ..
LMD, одним словом)
← →
Anatoly Podgoretsky © (2007-09-03 09:29) [18]> VRSB (03.09.2007 09:11:16) [16]
Действительно, больше писать нет смысла.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.039 c