服务器到服务器的实时通信

时间:2014-01-28 03:37:16

标签: web websocket

我希望有2台远程服务器实时通信。 Websockets看起来是一个选择,但是我发现的所有文档都说Websockets用于Web浏览器客户端到服务器的通信。是否存在可以更好地服务于此目的的竞争技术?

我的目的是来回发送实时JSON数据。

2 个答案:

答案 0 :(得分:2)

我想这里的竞争者可能是JMS或任何其他消息传递框架。

但是你可以根据需要使用WebSockets,它也应该这样做,特别是如果你不需要任何复杂的用户机制。与其他人相比,WebSocket协议被认为是相当“原始”的,您可以发送或接收文本或二进制消息,基本上就是它(*)。

如果您使用任何Java EE 7兼容的应用服务器,它应该内置JSR 356支持。我使用TyrusGlassfish和WebLogic中使用它,它也能够运行普通Grizzly(轻量级)容器。

(*)JSR 356中有编码器/解码器的概念,它可以帮助您对消息进行初始(en / de)编码;其他新的Java EE 7规范有很多用例--JSONP,这可能会让你的生活更轻松。

答案 1 :(得分:1)

Socket.io有一个名为socket.io-client的服务器到服务器node.js包。它枚举了服务器的客户端。

从我们的一个项目中简单使用:

// 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");
});
相关问题