jeecg框架下的websocket的配置调试

因为公司的项目是用jeecg框架开发的,jeecg官网有一些说明文档可以参考:http://jeecg.iteye.com/blog/2320670。我主要讲一下按照他这个文档配置之后遇到的问题,下载的jeecg3.7.1版本,在官网就可以找到,发现他这个框架已经集成了大部分的聊天框架,前端用的是layui的实时聊天框架layim,不过他这里的版本比较老,建议去layui官网找最新版本(不过这个目前是付费的,不是很贵可以让公司买的)。

客户端的请求js代码主要在

                       jeecg框架下的websocket的配置调试

因为之前没有接触过websocket所以在这里遇到了一个坑,

                    jeecg框架下的websocket的配置调试

这里的chapIp是指你本地的ip地址,你也可以用localhost:8080,正事上线的时候就要换成你们公司用的域名,这里的坑就在你在本地测试的时候一定要把自己的电脑设置好一个固定的ip,就在下图所示的位置,不能用自动获得ip地址,不然js中会遇到总是连接失败的错误。

                          jeecg框架下的websocket的配置调试

服务端的代码被他们打成了jar,在这个jeecg-p3-biz-chat-1.0.1.jar包中的\com\jeecg\chat\web\WebSocket.class,这个文件,用开发工具打开可以看到

           jeecg框架下的websocket的配置调试

采用的是注解的方式配置的,如果你想改这里的代码,就自己新建一个类把这个内容复制过去,然后把之前说的config.js

          jeecg框架下的websocket的配置调试这里chatIp后面的就是你新建的类的url,我图片这里/mgr/mywebsocket/就是我自己的项目websocket的服务端的访问路径。

如果你都改完了,发现登陆后还是不可以聊天,第二个坑就在这里了,因为还需要对websocket初始化配置的方法,新建一个SocketConfig.java,代码如下

package cn.com.datalk.cloud.websocket.init;

import java.util.Set;

import javax.websocket.Endpoint;
import javax.websocket.server.ServerApplicationConfig;
import javax.websocket.server.ServerEndpointConfig;

public class SocketConfig  implements ServerApplicationConfig {

   @Override
   public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> ss) {
      // TODO Auto-generated method stub
      System.out.println("endPoint扫描到的数量:"+ss.size());

      return ss;
   }

   @Override
   public Set<ServerEndpointConfig> getEndpointConfigs(
         Set<Class<? extends Endpoint>> ss) {
      // TODO Auto-generated method stub
      System.out.println("实现EndPoint接口的类数量:"+ss.size());
      return null;
   }

ServerApplicationConfig实现类是在tomcat启动时被加载的,其中两个方法分别管理实现类注解

方法getEndpointConfigs中是对继承Endpoint的类进行访问路径映射;

方法getAnnotatedEndpointClasses中的返回的是所有的websocket的数量;

现在重启一下服务器,登录jeecg平台就可以进行聊天了。本文只适合没有接触过websocket的同学,而且是在使用jeecg框架开发的前提下才适用。