Java 多个JVM之间的通信
我知道,伙计们, 我对java中多个JVM之间的通信有一些问题。 然后我公开我的场景。 我有1个jvm、服务器和其他jvm、客户端。当客户端处于活动状态时,必须连接到服务器,并且当服务器向所有连接的客户端发送信息时。 这是异步发生的 我想到了使用jms。你能告诉我这是一个好的选择还是使用经典插座更好 还像我说的那样使用jms向一个队列中的所有消费者发送消息吗 谢谢,很抱歉我的英语不好 例如: ` 这是一个例子:Java 多个JVM之间的通信,java,Java,我知道,伙计们, 我对java中多个JVM之间的通信有一些问题。 然后我公开我的场景。 我有1个jvm、服务器和其他jvm、客户端。当客户端处于活动状态时,必须连接到服务器,并且当服务器向所有连接的客户端发送信息时。 这是异步发生的 我想到了使用jms。你能告诉我这是一个好的选择还是使用经典插座更好 还像我说的那样使用jms向一个队列中的所有消费者发送消息吗 谢谢,很抱歉我的英语不好 例如: ` 这是一个例子: public class JmsMessageListenerExample {
public class JmsMessageListenerExample {
public static void main(String[] args) throws URISyntaxException, Exception {
BrokerService broker = BrokerFactory.createBroker(new URI(
"broker:(tcp://localhost:61616)"));
broker.start();
Connection connection = null;
try {
// Producer
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
"tcp://localhost:61616");
connection = connectionFactory.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("customerQueue");
String payload = "Important Task";
Message msg = session.createTextMessage(payload);
MessageProducer producer = session.createProducer(queue);
System.out.println("Sending text '" + payload + "'");
producer.send(msg);
// Consumer
MessageConsumer consumer = session.createConsumer(queue);
consumer.setMessageListener(new ConsumerMessageListener("Consumer"));
connection.start();
Thread.sleep(1000);
session.close();
} finally {
if (connection != null) {
connection.close();
}
broker.stop();
}
}
}
您将使用哪种协议?WebSocket将满足您的要求。JMS还可以,但更复杂。我想使用TCP。如果您要构建自己的服务器。这将是一个错误的决定。这是可行的,但这将是非常艰苦的工作。@Loc使用袜子?提出卑鄙的建议