我希望有2台远程服务器实时通信。 Websockets看起来是一个选择,但是我发现的所有文档都说Websockets用于Web浏览器客户端到服务器的通信。是否存在可以更好地服务于此目的的竞争技术?
我的目的是来回发送实时JSON数据。
答案 0 :(得分:2)
我想这里的竞争者可能是JMS或任何其他消息传递框架。
但是你可以根据需要使用WebSockets,它也应该这样做,特别是如果你不需要任何复杂的用户机制。与其他人相比,WebSocket协议被认为是相当“原始”的,您可以发送或接收文本或二进制消息,基本上就是它(*)。
如果您使用任何Java EE 7兼容的应用服务器,它应该内置JSR 356支持。我使用Tyrus,Glassfish和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");
});