websocket 第四篇 循环输出的 换一种方式转发到 topic

1、controller类这么写


@Controller
public class V2GameInfoController {


	@Autowired
	private WebSocketService ws;

	//不是sendto 的模式,那样只能写很多个,复制张贴复制张贴。用这种方式SimpMessagingTemplate可以在业务层处理
	
	@MessageMapping("/v2/chat")
	public void gameInfo(InMessage message) throws InterruptedException{
		
		ws.sendTopicMessage("/topic/game_rank",message);
	}

	
	

2、此时加了一个severvice 类


/**
 * 
 * 功能描述:简单消息模板,用来推送消息
 专门发消息类的模板
 */
@Service
public class WebSocketService {


	@Autowired
	private SimpMessagingTemplate template;

	public void sendTopicMessage(String dest, InMessage message) throws InterruptedException {

		for (int i = 0; i < 20; i++) {
			Thread.sleep(500L);
			template.convertAndSend(dest, new OutMessage(message.getContent() + i));
		}
	}



}

3、演示效果

发布了149 篇原创文章 · 获赞 8 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/bluewelkin/article/details/102970766