| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Обмен данными между программами |
| Автор: apostolnikolai 10.10.2009, 12:21 |
| Доброе время суток !!! Подскажите для новечка ! Есть программа она состоит из 2 частей : 1 часть СЕРВЕР он загрузается как служба NT . 2 часть программа для администрирования сервера . Задача из программы администрирования контролировать сервер ( пулучать сообщения о сбоях , данные их определенных переменных и т.д. ) Как это можно реализовать ! |
| Автор: Beltar 10.10.2009, 13:28 |
| Если по простецки, то можно в принципе свой простейший протокол обмена через сеть (Indy или сокеты) реализовать и пинговать сервак, ес-но можно и другие команды в посылке предусмотреть. Или сделать сервер COM-сервером. |
| Автор: AntonN 10.10.2009, 13:29 |
| если работают на одном компьютере, я бы сделал через MMF |
| Автор: apostolnikolai 10.10.2009, 15:52 | ||
А по подробней можно если не затруднит Добавлено через 7 минут и 38 секунд и если можно пример или исходничек |
| Автор: Akella 10.10.2009, 16:24 |
| А лучше сразу реализовывать через TCP/IP. Так более универсально. Сервером можно управлять хоть через интернет. |
| Автор: kami 10.10.2009, 17:11 |
Можно. |
| Автор: kami 10.10.2009, 17:38 |
Да, единственная (и существенная) проблема - файрволлы, слишком много народу даже не представляет об их существовании и необходимости их настройки. Пример для TCP |
| Автор: apostolnikolai 10.10.2009, 18:12 |
| ОКЕЙ ВСЕМ СПАСИБО БУДУ ПЫТАТСЯ ВСЕ ЭТО ПОНЯТЬ |
| Автор: apostolnikolai 10.10.2009, 18:55 | ||
Чтото не хочит компилить вроде все окей |
| Автор: apostolnikolai 10.10.2009, 19:50 |
| все разобрался |
| Автор: apostolnikolai 10.10.2009, 20:33 | ||
подскажите как правельно в
|
| Автор: kami 10.10.2009, 21:48 | ||
Все зависит от того, какого типа эти переменные. |
| Автор: apostolnikolai 11.10.2009, 09:14 | ||
| масив переменных string Добавлено через 4 минуты и 57 секунд а если не затруднить то можно и несколько примеров Integer, String ........... Добавлено через 13 минут и 35 секунд
ЭТО ПРАВЕЛЬНО |
| Автор: kami 11.10.2009, 17:01 |
Нет, и в этом просто убедиться - достаточно сделать строки не по одному символу. Да и в D2009 это работать не будет. В случае со строками проще всего воспользоваться TStringList, у которого есть методы записи в Tstream и чтения из него. Тогда передача строк сведется к передаче Tstream. Если же обязательно должен быть массив строк (хотя весомых оснований не вижу), тогда нужно заводить собственный протокол обмена. К примеру: первый байт - код команды "передаю массив строк", второй байт (или 4 байта, т.е. integer) - количество строк, дальше - все строки (несколько дней назад выкладывал код записи строки в поток). Соответственно - приемная сторона делает всё в том же порядке: понимает, что ей передали массив строк, узнает, сколько строк передали, и принимает каждую строку. |