Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обмен данными между программами 
:(
    Опции темы
apostolnikolai
Дата 10.10.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Доброе время суток !!!

Подскажите для новечка !

Есть программа она состоит из 2 частей :
 
 1 часть СЕРВЕР он загрузается как служба NT .
 
 2 часть программа для администрирования сервера .

 
Задача из программы администрирования контролировать сервер ( пулучать сообщения о сбоях , данные их определенных переменных и т.д. )

Как это можно реализовать !
PM MAIL   Вверх
Beltar
Дата 10.10.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



Если по простецки, то можно в принципе свой простейший протокол обмена через сеть (Indy или сокеты) реализовать и пинговать сервак, ес-но можно и другие команды в посылке предусмотреть. Или сделать сервер COM-сервером.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
AntonN
Дата 10.10.2009, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 3
Всего: 18



если работают на одном компьютере, я бы сделал через MMF


--------------------
user posted image
PM MAIL WWW   Вверх
apostolnikolai
Дата 10.10.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Цитата

если работают на одном компьютере, я бы сделал через MMF


А по подробней можно если не затруднит

Добавлено через 7 минут и 38 секунд
и если можно пример или исходничек 
PM MAIL   Вверх
Akella
Дата 10.10.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



А лучше сразу реализовывать через TCP/IP. Так более универсально.  Сервером можно управлять хоть через интернет.
PM MAIL   Вверх
kami
Дата 10.10.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(apostolnikolai @  10.10.2009,  15:52 Найти цитируемый пост)
можно пример или исходничек 

Можно.

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  uMMFThread.pas 17,49 Kb
PM MAIL WWW   Вверх
kami
Дата 10.10.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Akella @  10.10.2009,  16:24 Найти цитируемый пост)
 через TCP/IP. Так более универсально.

Да, единственная (и существенная) проблема - файрволлы, слишком много народу даже не представляет об их существовании и необходимости их настройки.
Пример для TCP

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  SimpleTCPTransfer.zip 10,11 Kb
PM MAIL WWW   Вверх
apostolnikolai
  Дата 10.10.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



ОКЕЙ ВСЕМ СПАСИБО БУДУ ПЫТАТСЯ ВСЕ ЭТО ПОНЯТЬ  smile   smile 
PM MAIL   Вверх
apostolnikolai
Дата 10.10.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Цитата

через TCP/IP. Так более универсально.


Чтото не хочит компилить вроде все окей 



Это сообщение отредактировал(а) apostolnikolai - 10.10.2009, 19:51
PM MAIL   Вверх
apostolnikolai
Дата 10.10.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



все разобрался



Это сообщение отредактировал(а) apostolnikolai - 10.10.2009, 20:29
PM MAIL   Вверх
apostolnikolai
Дата 10.10.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



подскажите как правельно в 
Код

FServer.SendToAll(Send); 
 загнать массив переменных и с другой стороны их получить ?
PM MAIL   Вверх
kami
Дата 10.10.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(apostolnikolai @  10.10.2009,  20:33 Найти цитируемый пост)
 загнать массив переменных и с другой стороны их получить ?

Все зависит от того, какого типа эти переменные.
PM MAIL WWW   Вверх
apostolnikolai
Дата 11.10.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



масив переменных string

Добавлено через 4 минуты и 57 секунд
а если не затруднить то можно и несколько примеров Integer, String ...........

Добавлено через 13 минут и 35 секунд
Код

var
  Buf: array[0..3] of string; // и вот здесь менять тип 
begin
  Buf[0] := '1';
  buf[1] := '2';
  buf[2] := '3';
  buf[3] := '4';
FServer.SendToAll(Buf,4);


ЭТО ПРАВЕЛЬНО
PM MAIL   Вверх
kami
Дата 11.10.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(apostolnikolai @  11.10.2009,  09:14 Найти цитируемый пост)
ЭТО ПРАВЕЛЬНО

Нет, и в этом просто убедиться - достаточно сделать строки не по одному символу. Да и в D2009 это работать не будет.
В случае со строками проще всего воспользоваться TStringList, у которого есть методы записи в Tstream и чтения из него. Тогда передача строк сведется к передаче Tstream.
Если же обязательно должен быть массив строк (хотя весомых оснований не вижу), тогда нужно заводить собственный протокол обмена. К примеру: первый байт - код команды "передаю массив строк", второй байт (или 4 байта, т.е. integer) - количество строк, дальше - все строки (несколько дней назад выкладывал код записи строки в поток). Соответственно - приемная сторона делает всё в том же порядке: понимает, что ей передали массив строк, узнает, сколько строк передали, и принимает каждую строку.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1157 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.