LINUX.ORG.RU

Как хочешь так и делай. RMI наверное самый простой вариант, для интероперабельности с неджавой лучше что то вроде XML-RPC или Web Service использовать, если хочется низкоуровневости - сокеты.

Legioner ★★★★★
()

Самый быстрый - сокеты, самый удобный RMI или веб-сервисы. Для интероперабельности с нежабой веб-сервисы.

Для очень быстрой интероперабельности с нежабой Google Protobuf (с небольшим гемором впридачу). Зато на protobuf пишешь *.proto файл, в котором описываешь сообщение. Оно генерирует классы для Java, С++, Python. Класс можно сериализировать, отправить по сети и потом десериализировать в другом ЯП. И это очень быстро и мало трафика жрет. Гугол для внутренней связи использует. У них там 48000 тысяч разных видов сообщений бегает.

Истинно жабский метод - JNDI+RMI

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

> Самый быстрый - сокеты

меня видимо клинит или я чего-то не понимаю. хочу асинхронности. в той же сишечке я бы в клиенте на сокете заснул. как это делается в яве..?

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Legioner

> RMI наверное самый простой вариант

rmi — java only, такшта видимо мимо...

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Rastafarra

Аналог каких функций Berkeley Sockets вы хотите увидеть?

vertexua ★★★★★
()
Ответ на: комментарий от Rastafarra

Я делал потоки, которые обслуживали клиентов. Если не хотите плодить по потоку для каждого клиента, то есть пулы потоков.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

> Я делал потоки, которые обслуживали клиентов

я тоже сделал поток на клиента, но это сторона сервера. я не понимаю как в клиенте сделать асинхронную обработку входящего. пока получается все синхронно, и все жабские статейки, которые нагуглились, про асинхронность ничего не знают.

пока вот придумалось запустить на клиенте отдельный тред-чтец из потока. не?

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Rastafarra

Я делал именно так. А как вы делали асинхронность в С++? Там кажется тоже в потоке надо читать синхронно. С ростом нагрузки количество потоков станет очень большим, что навредит scalability как в Java, так и в C++. Потому нужно использовать select.

В Java это тоже есть для поддержки высоких нагрузкок

http://www.javaportal.ru/java/articles/useselectfast.html

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

В Java правда чуть получше, потому что на винде оно ляжет на Winsock, а на UNIX на нормальный POSIX. Сейчас как раз пишу на С++/protobuf и знаю какой это ад выбирать POSIX или WinAPI с помощью ifdef

vertexua ★★★★★
()

таки corba же забыли

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.