Название: Обмен данными по LAN Отправлено: alixandra от Декабрь 13, 2006, 15:55 Подскажите:
Нужно обмениваться сообщениями между двумя приложениями, запущенными на разных комрьютерах, по локальной сети. Как это лучше реализовать? До этого с распределенными приложениями дела вообще не имела, так что подойдут даже самые очевидные варианты :) Спасибо Название: Обмен данными по LAN Отправлено: Sergeich от Декабрь 13, 2006, 16:03 Все прогрессивное человечество обменивается данными через сокеты. См. QTcpSocket
Название: Обмен данными по LAN Отправлено: Tonal от Декабрь 13, 2006, 20:05 Если под Win-дой - общий файл на шареном ресурсе это самое простое. ;-)
Название: Обмен данными по LAN Отправлено: bigirbis от Декабрь 13, 2006, 20:08 В свое время этот вариант под Линуксом проходили - не в восторге. Самое тяжелое - слезть потом со всего этого.
Название: Обмен данными по LAN Отправлено: Вячеслав от Декабрь 14, 2006, 00:39 Гы ;) Таки мож сразу на COM++ CORB'у и иже с ними человеку показать - Чего сделать-то надо ? Мож просто БД хватит ?
Название: Обмен данными по LAN Отправлено: bigirbis от Декабрь 14, 2006, 10:03 :) Тот же опыт показал, что обмен через базу данных может привести к большой головной боли...
Название: Обмен данными по LAN Отправлено: sector от Декабрь 14, 2006, 10:12 Господа и дамы.... А чем плоха идея клиент-сервера??? Помоему самый простой и быстрый вариант)))
Название: Обмен данными по LAN Отправлено: Tonal от Декабрь 14, 2006, 11:22 Ну, а если серьёзно, то всётаки что тебе от LAN надо?
Сокеты - достаточно просто, смотри например $(QTDIR)\examples\network\chat или: $(QTDIR)\examples\network\fortuneclient $(QTDIR)\examples\network\fortuneserver Ну и все остальные ответы имеют право на жизнь, в зависимости от того, что конкретно нужно. ;-) Название: Обмен данными по LAN Отправлено: alixandra от Декабрь 14, 2006, 17:03 Спасибо! Сокеты вполне подходят :)
Название: Обмен данными по LAN Отправлено: f_evgeny от Декабрь 14, 2006, 19:38 Цитата: "Tonal" Ну, а если серьёзно, то всётаки что тебе от LAN надо? Сокеты - достаточно просто, смотри например $(QTDIR)\examples\network\chat или: $(QTDIR)\examples\network\fortuneclient $(QTDIR)\examples\network\fortuneserver Ну и все остальные ответы имеют право на жизнь, в зависимости от того, что конкретно нужно. ;-) А если без QT? Для переносимости. У меня аналогичная задача, делаю модуль логики программы, написано на C++ с использованием STL. Кмопилируется GCC под Linux и Win32 (mingw, кросскомпиляция из под Linux) Хочется, чтобы модуль логики мог быть общаться с модулем GUI по сети. Так, чтобы модуль GUI мог быть написан с использованием любого инструментария. Или Борланд, или QT или WEB интерфейс. Для этого нужен пример общения при помощи сокетов, не привязанная к QT или чему то еще. Может кто-то посоветовать проверенный, хорошо работающий, переносимый пример? Название: Обмен данными по LAN Отправлено: Tonal от Декабрь 15, 2006, 07:24 Если тебе хочется "Или Борланд, или QT или WEB интерфейс" то проще всего строить общение поверх HTTP.
Самое простое - написать CGI-шку и подсунуть её Web серверу. Обычно подобные схемы делают 3х звенными: 1) логика 2) сетевой сервер 3) клиент Название: Обмен данными по LAN Отправлено: Admin от Декабрь 15, 2006, 10:56 кстати есть еще либа php+qt
может она тебе поможет Название: Обмен данными по LAN Отправлено: f_evgeny от Декабрь 15, 2006, 16:32 Цитата: "Tonal" Если тебе хочется "Или Борланд, или QT или WEB интерфейс" то проще всего строить общение поверх HTTP. Самое простое - написать CGI-шку и подсунуть её Web серверу. Обычно подобные схемы делают 3х звенными: 1) логика 2) сетевой сервер 3) клиент Я так и хочу. Вопрос - примеры кода сервера/клиента на чистом C++, причем желательно с условной компиляцияей для платформ gcc(Linux)/gcc(mingw)/BorlandBuilder6. Название: Обмен данными по LAN Отправлено: SLiDER от Декабрь 16, 2006, 02:50 Цитата: "f_evgeny" Цитата: "Tonal" Если тебе хочется "Или Борланд, или QT или WEB интерфейс" то проще всего строить общение поверх HTTP. Самое простое - написать CGI-шку и подсунуть её Web серверу. Обычно подобные схемы делают 3х звенными: 1) логика 2) сетевой сервер 3) клиент Я так и хочу. Вопрос - примеры кода сервера/клиента на чистом C++, причем желательно с условной компиляцияей для платформ gcc(Linux)/gcc(mingw)/BorlandBuilder6. Очень советую обратить внимание на библиотеку ACE -> http://www.cs.wustl.edu/~schmidt/ACE.html Я тут, давно, немного о ней говорил, и ссылки на книжки давал (бумажные, на русском). Название: Обмен данными по LAN Отправлено: Tonal от Декабрь 16, 2006, 08:59 Цитата: "f_evgeny" Вопрос - примеры кода сервера/клиента на чистом C++, причем желательно с условной компиляцияей для платформ gcc(Linux)/gcc(mingw)/BorlandBuilder6. Boost.Asio. Хотя про Borland Builder6 не знаю может его и не поддерживают. Слишком глючная среда. Название: Обмен данными по LAN Отправлено: f_evgeny от Декабрь 17, 2006, 13:33 Цитата: "SLiDER" Цитата: "f_evgeny" Цитата: "Tonal" Если тебе хочется "Или Борланд, или QT или WEB интерфейс" то проще всего строить общение поверх HTTP. Самое простое - написать CGI-шку и подсунуть её Web серверу. Обычно подобные схемы делают 3х звенными: 1) логика 2) сетевой сервер 3) клиент Я так и хочу. Вопрос - примеры кода сервера/клиента на чистом C++, причем желательно с условной компиляцияей для платформ gcc(Linux)/gcc(mingw)/BorlandBuilder6. Очень советую обратить внимание на библиотеку ACE -> http://www.cs.wustl.edu/~schmidt/ACE.html Я тут, давно, немного о ней говорил, и ссылки на книжки давал (бумажные, на русском). А не слишком ли это мощная вещь? Просто ли ей пользоваться? Название: Обмен данными по LAN Отправлено: bigirbis от Декабрь 17, 2006, 16:21 Цитировать А не слишком ли это мощная вещь? Просто ли ей пользоваться? Не очень уместный вопрос. Надо сказать, что и задача не простая. Название: Обмен данными по LAN Отправлено: Вячеслав от Декабрь 17, 2006, 23:27 Раз пошла такая пьянка - для написания на коленке(ногами сильно не бить - в свое время за 2 дня работающий кусок сварганили ) вполне подходит ice (http://www.zeroc.com/) Фсе там хорошо ... пока на отжираемые ресурсы не посмотришь :(
Название: Обмен данными по LAN Отправлено: Vld2 от Декабрь 17, 2006, 23:55 f_evgeny,
Цитировать Очень советую обратить внимание на библиотеку ACE Что за зверь такой АСЕ? Название: Обмен данными по LAN Отправлено: Вячеслав от Декабрь 18, 2006, 23:12 Сюрприз ;) The ADAPTIVE Communication Environment (ACE(TM)) и ссылочку давали ;)
Название: C++ Sockets Library кто нибудь пробовал? Отправлено: f_evgeny от Декабрь 19, 2006, 18:34 А вот это, кто нибудь пробовал?
http://www.alhem.net/Sockets/ Название: Обмен данными по LAN Отправлено: SLiDER от Декабрь 20, 2006, 03:10 Цитата: "f_evgeny" А не слишком ли это мощная вещь? Гммммм. Вопрос чисто риторический, это уже вам решать, под описанные вами задачи подходит великолепно. Цитата: "f_evgeny" Просто ли ей пользоваться? Ну, это кому как, нам просто. 8) На самом деле, там нет ничего сложного, и книжки, опять таки, весьма пользительные есть. На мой вкус, лучшая библиотека в своем классе. Однако с Qt ее скрещивать (в одной проге) не шибко удобно, так как у ней свой цикл обработки сообщений и свои потоки. В автономном же приложении (как у вас) это просто клад. Да и лицензия у ней очень вкусная. :D добавлено спустя 19 минут: Цитата: "Вячеслав" Раз пошла такая пьянка - для написания на коленке(ногами сильно не бить - в свое время за 2 дня работающий кусок сварганили ) вполне подходит ice (http://www.zeroc.com/) Фсе там хорошо ... пока на отжираемые ресурсы не посмотришь :( Рассматривали в свое время это чудо. :D Особливо понравился мануал на ... 1790 стр. :shock: Вот эта штука действительно кажется, как бы это сказать по мягче .... слишком "мощной". Ребята решили догнать и перегнать CORBA, и это им удалось на славу. :wink: Кросплатформенность, кросязыковость, собственный язык Slice (Specification Language for Ice), типа корбовского IDL. Типа круто ... но весит все это, вдобавок, несравнимо больше чем ACE (тем более, что, если очень нужно, то у ACE тоже есть своя CORBA - TAO называется). Тем более, с Qt у нее те же проблемы, что и у ACE (у последней хоть ace_qtreactor есть). Хотя вещь, в соем сегменте, наверное очень хорошая. Однако ... однако. Название: Обмен данными по LAN Отправлено: Racheengel от Декабрь 20, 2006, 10:05 Пробовали мы АСЕ/ТАО.... ничего, кроме многомесячного геморроя, так и не получили....
Название: Обмен данными по LAN Отправлено: zabivator от Декабрь 20, 2006, 16:09 Racheengel, может быть, вы не умеете их готовить?
Название: Обмен данными по LAN Отправлено: Вячеслав от Декабрь 20, 2006, 19:41 Цитата: "Racheengel" Пробовали мы АСЕ/ТАО.... ничего, кроме многомесячного геморроя, так и не получили.... А чуть более развернуто можно ? Геморрой он ведь раааазный бывает :( |