2014-01-28 4 views
0

Я ищу, чтобы иметь 2 удаленных сервера в реальном времени. Websockets выглядит как выбор, однако все документы, которые я нашел, говорят, что веб-узлы предназначены для взаимодействия с клиентом веб-браузера с сервером. Существует ли конкурирующая технология, которая лучше подходит для этой цели?Связь сервера с сервером в реальном времени

Мое намерение отправить в реальном времени данные JSON взад и вперед.

ответ

2

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

Но вы можете использовать WebSockets для этого, если хотите, он должен делать то же самое, особенно если вам не нужен какой-либо сложный механизм подписчика. Протокол WebSocket считается довольно «сырым» по сравнению с другими, вы можете отправлять или получать текстовые или двоичные сообщения, и в основном это (*).

Если вы используете любой 7 совместимый сервер приложений Java EE, она должна иметь 356 поддержка JSR построен. Я работаю на Tyrus, который используется в Glassfish и WebLogic, и он также способен работать на обычной Grizzly (легкий) контейнер.

(*) в JSR 356 есть концепция кодировщиков/декодеров, которые могут помочь вам с начальной (en/de) кодировкой вашего сообщения; есть много вариантов использования с другими новыми спецификациями Java EE 7 - JSONP, которые могут сделать вашу жизнь проще еще больше.

1

Socket.io имеет пакет для сервера node.js с именем socket.io-client. Он перечисляет клиент для серверов.

Простое использование одного из наших проектов:

// remote server connecting to server1.io:4321 
var clientio = require('socket.io-client'); 

var client = clientio.connect("http://server1.io:4321", { 
    'force new connection': true, 
    'reconnect': true, 
    'reconnection delay': 1000, 
    'max reconnection attempts': 10 
}); 

client.on('connect', function(socket) { 
    console.log("connected"); 
}); 
Смежные вопросы