Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Общение между приложениями на одном компьютере / 25 сообщений из 66, страница 1 из 3
29.01.2018, 17:17
    #39592889
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Подскажите, как можно реализовать передачу данных между приложениями, работающими на одном компьютере?
Одно приложение передает, второе получает и в ответ подтверждает корректность полученных данных.

Среда разработки Delphi 2010
...
Рейтинг: 0 / 0
29.01.2018, 17:18
    #39592890
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
TCP, mailslots, messages.
...
Рейтинг: 0 / 0
29.01.2018, 17:22
    #39592895
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
...
Рейтинг: 0 / 0
29.01.2018, 17:40
    #39592913
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
antoxкак можно реализовать передачу данных между приложениями, работающими на одном компьютере?

TCP я тоже рекомендую. Не будет проблем если в будущем понадобится не только "между
приложениями, работающими на одном компьютере".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.01.2018, 17:47
    #39592915
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Dimitry SibiryakovTCP я тоже рекомендую. Не будет проблем если в будущем понадобится не только "между приложениями, работающими на одном компьютере".
А я бы для начала спросил, насколько плотный обмен данными предполагается. Потому как tcp в рамках одного компьютера - чертовски медленная штука по сравнению с альтернативами.
...
Рейтинг: 0 / 0
29.01.2018, 17:56
    #39592920
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
softwarertcp в рамках одного компьютера - чертовски медленная штука по сравнению с альтернативами.

На моём ноуте я разгонял обмен до 80 мегабайт в секунду в полном дуплексе. Это, конечно,
медленнее диска, но по-моему вполне достаточно для практически любого применения. А из
быстрейших альтернатив - только общая память. Или есть что-то ещё?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.01.2018, 17:57
    #39592921
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
wadmanTCP, mailslots, messages.
shared memory?..
...
Рейтинг: 0 / 0
29.01.2018, 17:57
    #39592922
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
softwarer...Потому как tcp в рамках одного компьютера - чертовски медленная штука по сравнению с альтернативами.

Используем адрес 127.0.0.1 - и сразу же скорость становится сверхсветовой... :)
...
Рейтинг: 0 / 0
29.01.2018, 18:00
    #39592925
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
чччДИспользуем адрес 127.0.0.1 - и сразу же скорость становится сверхсветовой... :)
Если бы. Тут ещё зависит от операционки - есть ли у неё специальная обработка для этого случая - но сколь помнится, в старых виндах скорость становится ещё хуже.
...
Рейтинг: 0 / 0
29.01.2018, 18:12
    #39592933
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
OLE
...
Рейтинг: 0 / 0
29.01.2018, 18:48
    #39592942
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Dimitry SibiryakovНа моём ноуте я разгонял обмен до 80 мегабайт в секунду в полном дуплексе. Это, конечно, медленнее диска, но по-моему вполне достаточно для практически любого применения.

Не для любого.
GigE-видеокамеры на сокетах адски тормозят, для них специальные фильтр-драйверы делают.

Dimitry Sibiryakov А из быстрейших альтернатив - только общая память. Или есть что-то ещё?.. Pipes.
...
Рейтинг: 0 / 0
29.01.2018, 19:02
    #39592950
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
пайпы - вечный геморрой. Надоест очень быстро.

shared memory - отлично для передачи блоков данных

Я в итоге пришел к tcp - потери в скорости по сравнению с пайпами есть, но не критичные.
...
Рейтинг: 0 / 0
29.01.2018, 19:12
    #39592953
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
softwarerDimitry SibiryakovTCP я тоже рекомендую. Не будет проблем если в будущем понадобится не только "между приложениями, работающими на одном компьютере".
А я бы для начала спросил, насколько плотный обмен данными предполагается. Потому как tcp в рамках одного компьютера - чертовски медленная штука по сравнению с альтернативами.
Сейчас накидал простой тест, "zmq над tcp:"
При обмене блоками диной 1 байт - скорость 13 кбайт в секунду, увеличение длины пакета данных до килобайта-двух почти не влияет на время.
Получается примерно 6500 синхронных сеансов обмена в секунду, 0,15 миллисекунды на сеанс. Т.е., время получения ответа после короткого запроса - полторы миллисекунды.

...и чуть больше 100 мегабайт/сек при пересылка блоков по 16кБайт к серверу и обратно, последовательно (клиент отправил - ждет ответа, сервер получил - отправил ответ), тут уже время передачи самих данных играет роль.

Время первоначального коннекта не учитывалось (тоже, в общем, не особо и велико).
...
Рейтинг: 0 / 0
29.01.2018, 19:29
    #39592962
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Vizit0rпайпы - вечный геморрой. Надоест очень быстро. Лет 10 как их пользую, пока не надоели.
Геморрой знаю только один: они не могут взаимодействовать если процессы запущены от имени разных пользователей. В этом плане tcp лучше.
...
Рейтинг: 0 / 0
29.01.2018, 21:40
    #39593005
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
чччД,
Десктоп?

это фишка такая винды, переключение между процессами надо ускорять что бы работало быстрее
...
Рейтинг: 0 / 0
29.01.2018, 21:42
    #39593009
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Соколинский БорисVizit0rпайпы - вечный геморрой. Надоест очень быстро. Лет 10 как их пользую, пока не надоели.
Геморрой знаю только один: они не могут взаимодействовать если процессы запущены от имени разных пользователей. В этом плане tcp лучше.

ну как бы если сразу со старта использовать асинхронные нормальные пайпы - то 90% отпадет.
А я собрал все грабли синхронных пайпов, только года полтора тому перешел на асинхронные.
...
Рейтинг: 0 / 0
29.01.2018, 21:44
    #39593010
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
kealon(Ruslan)...переключение между процессами надо ускорять что бы работало быстрее
Какое переключение, как именно "ускорять"?
...
Рейтинг: 0 / 0
29.01.2018, 22:01
    #39593014
AWSVladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
чччДСейчас накидал простой тест, "zmq над tcp:"


У ТСР есть то ли параметр, то ли флаг, отправлять пакет по умолчанию или мгновенно.
Если по умолчанию, то винда ожидает какое то кол-во миллисекунд (вроде 200 мс), для отправки пакетов одной порцией.
Если поствить мгновенно, то пакет отправляется сразу.

Поставь мгновенную отправку, будет быстрее шуршать.
Где это выставляется не подскажу, лет 5 уже не залазил в ТСР.
...
Рейтинг: 0 / 0
29.01.2018, 22:48
    #39593018
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
+1 за TCP
...
Рейтинг: 0 / 0
30.01.2018, 03:35
    #39593043
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
X11,

А реализация через Indy ?
...
Рейтинг: 0 / 0
30.01.2018, 04:25
    #39593046
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
antoxX11,

А реализация через Indy ?Зачем этого монстра тянуть? Проще разобраться с апи, там пяток функций, чем пытаться заставить хоть как-то работать эту поделку.
...
Рейтинг: 0 / 0
30.01.2018, 04:41
    #39593047
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
AWSVladimir,
Если бы 200 миллисекунд стояло, то мой тест показывал бы не лучше 5 сеансов обмена в секунду. Даже 2.5 сеанса в сек. (задержка на обоих сторонах была бы).
...
Рейтинг: 0 / 0
30.01.2018, 08:42
    #39593089
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
...
Рейтинг: 0 / 0
30.01.2018, 08:50
    #39593090
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
Zelius Алгоритм Нейгла

Угу
Does the ZeroMQ library disable the Nagle algorithm (TCP NODELAY)?

Yes.
...
Рейтинг: 0 / 0
30.01.2018, 09:18
    #39593102
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение между приложениями на одном компьютере
чччДkealon(Ruslan)...переключение между процессами надо ускорять что бы работало быстрее
Какое переключение, как именно "ускорять"?времени нет искать, вкратце

Проблема в следующем - пока процесс не переключится, естественно не будет отработан приём, отсюда и такая низкая скорость при передаче данных. Для качественной реализации такого пинг-понга по идее нужен механизм передачи управления конкретному процессу на уровне ОС.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Общение между приложениями на одном компьютере / 25 сообщений из 66, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]