Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
1

Взаимодействие двух разных приложений

23.02.2016, 21:00. Показов 2160. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Запущенных на одном компе. Самое простое - с помощью файла: одно приложение пишет данные в файл, другое его читает. Есть ли другие способы?

2. На разных компах в составе одной сети.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2016, 21:00
Ответы с готовыми решениями:

Взаимодействие двух приложений
Когда нужно чтобы два процесса Qt и консольный были связаны каналами для ввода запроса для загрузки...

Организация проекта из двух приложений
Нужно написать приложение-сервер, приложение-клиент. Естественно будут какие-то общие классы...

QtCreator — запуск двух приложений одновременно
Всем привет! Есть subdirs проект, где одно приложение — сервер, а другое — клиент. Очень...

Соединение двух разных окон
Как это сделать? Сверху, слева где хочу применить(там отдельные окна, реализованные в разных...

9
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
23.02.2016, 21:35 2
1) Файл поможет, только если не интенсивное общение + нужен lock. А так - IPC.
2) сокеты
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
24.02.2016, 09:06  [ТС] 3
То есть нужно написать 2 разных приложения - сервер и клиент. А на разных компьютерах в одной сети wi-fi они будут видеть друг друга?
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
24.02.2016, 09:16 4
alexu_007, можно и одно. Зависит от задачи.
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
24.02.2016, 09:53  [ТС] 5
Цитата Сообщение от RazrFalcon Посмотреть сообщение
можно и одно. Зависит от задачи.
Да для начала задача самая простая: чтобы увидели друг друга и хоть что-то передали/приняли.
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
26.02.2016, 07:58  [ТС] 6
Нашёл готовый проект с клиентом и сервером - проект не совсем простой, т.е. там одновременно создаются 2 ехе-шника, и есть папки с файлами, которых нет в "обычных" проектах. Но у меня скомпилировалось: клиент с формой, сервер без. Как этим пользоваться? Что нужно запускать на 2-х разных компьютерах в одой сети wi-fi, чтобы клиенты смогли общаться?
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
26.02.2016, 08:05 7
alexu_007, почитайте любую книгу о сетевом программировании. Можно что-нибудь из "как делать игры", там описывают достаточно хорошо для вашей задачи.

В рамках одной сети нужно делать широковещательные сообщения, в которых будет приглашение пообщаться без рекламы и смс, и адрес приглашающего. Клиенты в таком случае должны ловить широковещательные сообщения, а потом уже стучаться на сервер по данному приглашению. Но вы ни слова не поняли, так ведь?
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
26.02.2016, 08:15  [ТС] 8
Цитата Сообщение от icpu Посмотреть сообщение
Но вы ни слова не поняли, так ведь?
Ну что-то понял: нужно как минимум две программы: сервер и два клиента (одинаковых?) которые через этот сервер общаются?

А Qt сокеты (и программы с ними) тогда для чего - для соединения через интернет?

Не посоветуете литературку, желательно применительно к Qt?
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
26.02.2016, 08:42 9
alexu_007, п.1 я не говорил и в общем это не верно. То, что нужны два набора функций - эт верно. Как их распихать - вам решать.
п.2 - для всего. Сокет - это такой способ соединения для передачи потоковых данных - по номеру порта. Qt-сокет - куда более удобная обёртка стандартных сокетов.
п.3 Я сейчас над Максом Шлее сижу, про Qt на русском кроме него комплексного ничего нет. По сетям - нет, не посоветую, разве что лекции, соответственно, Николая Лаврентьевича, соответственно, Долозова, у которого я, соответственно, учил сетевые информационные технологии. Но можно методички любых других универов взять.

Добавлено через 11 минут
Смысл всех проблем в сети в том, чтобы клиент и сервер узнали друг о друге. В рамках сети Интернет это возможно только по белому IP или DNS-имени. В рамках локальных сетей можно отправлять широковещательные сообщения (это те, которые принудительно раздаются всем в сети, у них особые правила, простые, впрочем), а на них уже отвечать. Чаще всего опрашивает всех клиент, а сервер слушает. Бывает и наоборот, зависит от задачи. Как только компьютеры узнали друг о друге, дальнейшее - дело техники.

Соединение происходит следующим образом. Один (сервер) открывает сокет на прослушку, второй (клиент) на него подключается, при подключении сервер создаёт сокет для общения именно с этим клиентом, слушающий сокет продолжает ждать подключений.
0
661 / 662 / 106
Регистрация: 29.05.2015
Сообщений: 3,967
27.02.2016, 07:53  [ТС] 10
Ура, заработало! Два приложения обмениваются сообщениями! Правда, пока на одном компе, на рабочем столе... но теперь допилить рабочий код куда проще, чем писать с нуля новый, не зная как это делать.

Спасибо.
0
27.02.2016, 07:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2016, 07:53
Помогаю со студенческими работами здесь

Взаимодействие двух приложений (передача данных)
Всем привет. 2 программы находятся на 1 ПК. Подскажите, как можно реализовать взаимодействие 2...

Взаимодействие двух самостоятельных веб-приложений
Здравствуйте, у меня на данный момент возник вопрос: как обеспечить взаимодействие 2...

Взаимодействие между процессами двух приложений
В задании к лабораторной сказано, что нужно открыть файл в одном приложении, а считывать данные с...

Взаимодействие 2-х БД (2-х Приложений)
Всем привет! Задача в следующем: - Есть 2 приложения для одного бизнес-процесса. 1-е приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru