Я узнал, что есть .Net-набор инструментов, называемый GCT-Group Communication Toolkit, который является версией JGroup на C#. Я хочу знать, могут ли эти и JGroup быть соединены вместе, чтобы клиенты java и C# обменивались данными друг с другом. Если нет, то какой был бы лучший способ сделать Java-программу и программу на C#? Еще один вариант, с которым я столкнулся, - это реализация XMPP. Мне требуется очень быстрое сообщение, проходящее между этими двумя программами, которые работают на одном компьютере. Основное требование состоит в том, что любая из этих программ отправляет сообщение другому, когда запускаются некоторые определенные события. любые идеи приветствуются.связь между Java и C#
ответ
XMPP - это не то, что вы хотите. Он предназначен для передачи сообщений между компьютерами с центральным сервером.
Я бы рекомендовал использовать сокеты для передачи данных между приложениями. См. Класс System.Net.Sockets.Socket в C# и класс java.net.Socket на Java.
Где я работаю, мы используем ICE (http://www.zeroc.com/). Он позволяет создавать двоичные данные между java и C#. Это не плохо.
Я обожаю ICE. Мы использовали его на работе и вдруг легко использовать разные языки. Это похоже на то, как вы можете смешивать языки в сети точек. –
Если производительность важна, см., Что используется в научных вычислениях. Ученые сталкиваются с такими же проблемами на предприятиях, которые нуждаются в подключении клиентов и серверов, и все это на еще более широком спектре языков и платформ. Возможно, этот инструмент связывания компонентов, называемый Babel, был бы полезен вне его первоначального домена? Интерфейсы описываются SIDL (например, IDL в CORBA), но я не знаю, включен ли C# еще. https://computation.llnl.gov/casc/components/babel.html
Возможно, я не сделал требование четким. Я ищу технологию push-сервера, а не клиентскую нагрузку. Поэтому я не уверен, будут ли выполняться вышеупомянутые решения. Мой код C# контролирует среду и обрабатывает определенные события, сгенерированные в этой среде. Когда событие генерируется, я записываю некоторую информацию. Эта информация, которую я хочу отправить на мой код Java. Итак, как вы можете видеть, код C# должен действовать как сервер, который передает данные клиенту java, когда происходит какое-то конкретное событие. Кроме того, на одном компьютере есть только один сервер и один клиент, поэтому нет проблем с масштабируемостью. Единственное беспокойство - это производительность, потому что события генерируются со скоростью 0,01 секунды. Вот почему я подумал о XMPP.
Я должен добавить, что размер каждого сообщения очень маленький. Это просто строка – sura
В ответ на ОР в «ответ» ...
Путь к карте «сервер толчок» на классической модели RPC (например, как это реализовано с помощью CORBA, SOAP, ICE, RMI, и так далее) является переверните роль так, чтобы то, о чем вы думаете, как ваш сервер, заполняет роль клиента в RPC. Шаблон выглядит следующим образом:
Ваш клиент делает звонок на ваш сервер, передавая дескриптор объекта обратного вызова.
Сервер запоминает объект обратного вызова и возвращает его.
клиент переходит в спящий режим (или делает что-то еще ...)
Позже, сервер хочет подтолкнуть некоторые данные.
Сервер вызывает «push» RPC для объекта обратного вызова, передавая данные.
Клиент получает запрос/запрос на объект обратного вызова, что-то делает с данными и отвечает.
Если я делал это и нуждался в малой задержке, я мог бы рассмотреть файл с отображением памяти или канал. Любой из них потребует программирования JNI и p/invoke.
Буферы протокола Google могут быть вариантом. Это очень портативно и довольно быстро.
- 1. Связь между C# и Java: Процесс
- 2. Связь между C++ и Java в android
- 3. Связь сокета между Java и C++
- 4. Взаимодействия/связь между C++ и Java-программой
- 5. Связь между C# и Java Sockets останавливается?
- 6. Связь между Java-приложением и C++-приложением
- 7. UDP-связь между Java и C#
- 8. Sockets - Связь между C# и JAVA Android
- 9. Сокетная связь между Java и C# -приложением
- 10. Связь SSL между приложениями Java и C#
- 11. Связь между ruby и java
- 12. Связь между C++ и C#?
- 13. Связь между Java и апплетом
- 14. Связь между Java и Haskell
- 15. Связь между SAP и C#
- 16. связь между plc и C++
- 17. Связь между R и C++
- 18. Связь между python и C
- 19. связь между C++ и cplex
- 20. Связь между C# и Haskell
- 21. SOAP RMI C++ - Java и C++ связь
- 22. Связь между Java <-> Java/C#/Objective-C
- 23. Связь между потоками java
- 24. Связь между GUI Java
- 25. Java-связь между классами и JFrame JDialog
- 26. C# Связь между потоками
- 27. C# связь между процессами
- 28. Java и последовательная связь
- 29. безопасная связь между клиентом C# и java-сервером
- 30. Связь между приложением Flash и Java/C# на сервере
check http://stackoverflow.com/questions/16689/java-and-c-interoperability Очевидно, что вы, должно быть, изучили базу данных, веб-службы или просто файл XMl, возможно, с помощью FileSystemWatcher? – PRR