🗣 Wd提问: stomp服务器
🤖 Ai回答: STOMP (Simple Text Oriented Messaging Protocol) 服务器是一种支持 STOMP 协议的消息中间件服务器。以下是主要的 STOMP 服务器实现:
主流 STOMP 服务器
1、Apache ActiveMQ
bash
下载和启动
wget https://archive.apache.org/dist/activemq/5.17.0/apache-activemq-5.17.0-bin.tar.gz
tar -xzf apache-activemq-5.17.0-bin.tar.gz
cd apache-activemq-5.17.0
./bin/activemq console
2、RabbitMQ
bash
启用 STOMP 插件
sudo rabbitmq-plugins enable rabbitmq_stomp
配置文件 /etc/rabbitmq/rabbitmq.conf
stomp.listeners.tcp.default = 61613
3、HornetQ (已停止维护,但仍可用)
java
// 配置示例
hornetq.stomp.port=61613
hornetq.stomp.host=localhost
4、Spring Boot + ActiveMQ
java
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Bean
public BrokerRegistry brokerRegistry() {
return new BrokerRegistry();
}
}
客户端连接示例
JavaScript 客户端
javascript
// 使用 stomp.js 库
const Stomp = require('stompjs');
const SockJS = require('sockjs-client');
const socket = new SockJS('http://localhost:8080/stomp');
const client = Stomp.over(socket);
client.connect(
{ login: 'user', passcode: 'password' },
frame = {
console.log('Connected: ' + frame);
client.subscribe('/topic/messages', message = {
console.log('Received: ' + message.body);
});
}
);
// 发送消息
client.send('/app/hello', {}, JSON.stringify({ name: 'World' }));
Java 客户端
java
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQTextMessage;
import javax.jms.*;
public class StompClient {
public static void main(String[] args) throws Exception {
ConnectionFactory factory = new ActiveMQConnectionFactory(tcp://localhost:61616);
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createTopic(test.topic);
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage(Hello STOMP!);
producer.send(message);
connection.close();
}
}
配置示例
ActiveMQ 配置 (activemq.xml)
xml
<broker xmlns=http://activemq.apache.org/schema/core
brokerName=localhost
dataDirectory=${activemq.data}
<transportConnectors
<transportConnector name=stomp uri=stomp://0.0.0.0:61613/
<transportConnector name=amqp uri=amqp://0.0.0.0:5672/
</transportConnectors
<plugins
<simpleAuthenticationPlugin
<users
<authenticationUser username=admin password=admin groups=users,admins/
</users
</simpleAuthenticationPlugin
</plugins
</broker
常用命令
启动 ActiveMQ
bash
Linux/Mac
./bin/activemq start
./bin/activemq stop
Windows
bin\activemq.bat start
bin\activemq.bat stop
测试连接
bash
telnet 测试端口
telnet localhost 61613
使用 stomp-cli
stomp-cli host localhost port 61613
主要特点
1、简单协议: 文本格式,易于理解和调试
2、多语言支持: 支持多种编程语言客户端
3、标准兼容: 兼容 STOMP 1.2 标准
4、安全认证: 支持用户名密码认证
5、持久化: 支持消息持久化存储
选择哪种 STOMP 服务器取决于你的具体需求、技术栈和性能要求。
📣 商家广告:





0
IP地址: 74.31.190.95
搜索次数: 114
提问时间: 2025-12-31 02:06:08
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。