基于WebSocket的实时通讯开发步骤(含源码)

若是你能搜到这篇文章,说明你对WebSocket已经有所了解。在此就不做赘述。

一、准备好一个ssm或者ssh框架项目,最好是使用maven管理的html

本文以ssm为例。

二、配置pom.xml文件:git

主要为了引入支持websocket的spring4 jar包。

三、编写你的WebSocket:github

主要包括三部分:WebSocketConfig(注入处理器)-->MyHandler(开发自定义功能)-->MyHandshakeInterceptor(拦截器),(可参考官网提供的实例代码)

四、spring文件(applicationContext.xml、spring-mvc.xml、web.xml)配置,采用自动注入方式。web

此步为难点所在:网上有好N种写法,2个配置文件组合就有N的平方种写法。通过屡次试验,终于保证了webSocket与Controller同时注册成功。因此,可行的方法不只限于本文提供的这种。

五、创建链接:spring

由界面中的sockjs调用,详情见源码。(注:假如你的sockjs创建链接等内容写在main.jsp,那么一旦跳转离开该界面,webSocket链接会自动断开,为了不反复链接带来一些没必要要的麻烦。本例将sockjs链接功能写在了一个界面的同时,在该界面内添加iframe,让iframe中的界面去跳转。)

六、发送消息:spring-mvc

在本身的controller中注入webSocket的处理器,使用其中的方法便可。
    @Autowired
    MyHandler myHandler;

    @RequestMapping("/tt")
    public String sendMsgToUser(HttpServletRequest request){
        String msg = "2016,与你相遇,猴幸运!";
        String userCd = (String) request.getSession().getAttribute("USER_CD");
        myHandler.sendMessageToUser(userCd, new TextMessage(msg));
        return "redirect:/web";
    }

本项目源码已放在github上:https://github.com/chenhongen...,且代码中有所注释,本文只为操做向导,不粘贴大量代码以乱视听。websocket

固然,在你导入源码实际开发后必不可少会产生进一步问题,欢迎交流(qq:251601797)。mvc

本例剥离至本人15年毕设,时隔8个月,从新实操遇到了很多问题,因此但愿你们有一点小小“成果”之类的都能及时记录。app

参考文献:
官方(纯英文):http://docs.spring.io/spring/...
Spring+Websocket实现消息的推送:http://my.oschina.net/ldl1232...框架

相关文章
相关标签/搜索