栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于stomp协议的websocket

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于stomp协议的websocket

1.依赖

		
		org.springframework.boot
		spring-boot-starter-websocket
		

2.配置文件

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {


@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
	registry.addEndpoint("/message").setAllowedOrigins("*");
}

@Override
public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
	// 设置最大消息发送长度为5m
	registry.setMessageSizeLimit(1024 * 1024 * 5);
	registry.setSendBufferSizeLimit(1024 * 1024 * 5);
	registry.setSendTimeLimit(2000);
}


@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
	registry.enableSimpleBroker("/topic");// 推送消息前缀
	registry.setApplicationDestinationPrefixes("/topic");// 应用请求前缀
	registry.setUserDestinationPrefix("/user");// 推送用户前缀
}
}

3.Controller 消息控制器

	@Api(tags = "消息控制器")
	@RestController
	public class MessageController {
	    @Autowired
	    private IMessageService service;
	
	    
	    @MessageMapping("/server/byte")
	    public void subscribeByte(@Headers Map headers, String s) {
	        System.out.println(s);
	        service.subscribeByte(headers, s);
	    }
	
	
	    @Autowired
	    private SimpMessagingTemplate messagingTemplate;
	
	    
	    @PostMapping("/server/aa")
	    public void subscribeByte1(@Headers Map headers, String s) {
	//
	        new Thread(new Msg(s, messagingTemplate)).start();
	//		service.subscribeByte(headers, s);
	    }
	
	    
	    public class Msg implements Runnable {
	
	        private String msg;
	        private SimpMessagingTemplate messagingTemplate;
	
	        public Msg(String msg, SimpMessagingTemplate messagingTemplate) {
	            this.msg = msg;
	            this.messagingTemplate = messagingTemplate;
	        }
	
	        @Override
	        public void run() {
	            this.messagingTemplate.convertAndSend("/topic/anquanmao", msg);
	        }
	    }
	}

4.html 连接socket

				
		
		
		
		demo
		
		
		选择一张图片并通过websocket发送到后台
		
		
后台会实时通过websocket把图片回传(可以把本页面打开两个以测试效果)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750454.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号