基于spring4 的websocket 简单示例
来源:互联网 发布:网络公关媒体 编辑:程序博客网 时间:2024/06/16 19:37
1.需要的类库基于maven配置
<!-- websocket -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
2.websocket服务端处理器
<pre name="code" class="java">package com.sky.springmvc.websockets;import org.springframework.web.socket.TextMessage;import org.springframework.web.socket.WebSocketSession;import org.springframework.web.socket.handler.TextWebSocketHandler;/** * websocket 处理器 * @author 孙效宁 * */public class WebsocketEndPoint extends TextWebSocketHandler{@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {super.handleTextMessage(session, message);TextMessage textMessage = new TextMessage(message.getPayload()+" received at server");System.err.println("message:"+message.getPayload());// 将客户端发送的信息原样输出session.sendMessage(textMessage);}}3.自定义握手接口(可选,如果有的话在配置的时候要加上,配置见4)
4.服务端处理器和握手接口配置package com.sky.springmvc.websockets;import org.springframework.web.socket.TextMessage;import org.springframework.web.socket.WebSocketSession;import org.springframework.web.socket.handler.TextWebSocketHandler;/** * websocket 处理器 * @author 孙效宁 * */public class WebsocketEndPoint extends TextWebSocketHandler{@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {super.handleTextMessage(session, message);TextMessage textMessage = new TextMessage(message.getPayload()+" received at server");// 输出客户端发送的消息System.err.println("message:"+message.getPayload());// 将客户端发送的信息原样输出session.sendMessage(textMessage);}<p>}</p>package com.sky.springmvc.websockets;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.WebSocketHandler;import org.springframework.web.socket.config.annotation.EnableWebSocket;import org.springframework.web.socket.config.annotation.WebSocketConfigurer;import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;/** * websocket 配置 * @author 孙效宁 * */@Configuration@EnableWebSocketpublic class WebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "/myHandler") .addInterceptors(new HandshakeInterceptor()) .setAllowedOrigins("*").withSockJS(); } @Bean public WebSocketHandler myHandler() { return new WebsocketEndPoint(); }<p>}</p>5.springmvc 配置文件记得加上注解扫描
6.客户端页面<!-- 注解扫描器 --> <context:component-scan base-package="com.sky.springmvc"/><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><title>hello</title><script src="http://cdn.sockjs.org/sockjs-0.3.min.js"> </script> <script> var sock = new SockJS('http://localhost:8080/springmvc/myHandler'); sock.onopen = function() { console.log('open'); // 给服务端发送简单文本消息 sock.send("test"); }; sock.onmessage = function(e) { console.log('message', e.data); }; sock.onclose = function() { console.log('close'); };</script></head><body></body></html>
0 0
- 基于spring4 的websocket 简单示例
- 基于spring4 websocket的简易聊天室
- 一个Spring4 WebSocket群发示例
- Spring4.0 + websocket简单应用
- 基于Tomcat7的HTML5 WebSocket 应用示例
- 基于Tomcat7的HTML5 WebSocket 应用示例
- 基于Tomcat7的HTML5 WebSocket 应用示例
- Spring4 MVC 简单示例
- 使用spring4的websocket支持
- Spring4.0系列9-websocket简单应用
- 基于注解spring4.*,mybatis3.*最简单的SSM整合
- erlang实现websocket简单示例
- 基于node的websocket学习笔记一:基础概念和第一个websocket应用demo示例
- Spring4配置websocket,基于xml从零(0)开始
- 基于.NET 的WebSocket 的简单实例 --- 建立连接
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- 基于.NET 的WebSocket 的简单实例 --- 数据格式
- 浏览器下载排行榜2016-权威排名
- 跟着实例学习ZooKeeper的用法: Curator框架应用
- java提高篇(二)-----理解java的三大特性之继承
- 算法导论 散列表 11.1答案以及乘法散列法
- UI 实现多线程方式之四 GCD之全局队列
- 基于spring4 的websocket 简单示例
- Android基础学习之Menu(菜单)
- 解决arcgis for android中feature不显示的问题
- iOS编程------XML、JSON数据结构解析
- Makefile文件简单示例一:测试验证小程序的管理
- linux下第一个socket编程实现的局域网内通信(基于TCP)
- 剑指offer—和为S的连续正数序列
- Ubuntu扁平主题
- Visual Tracking with Fully Convolutional Networks 笔记