jeecg框架下的websocket的配置调试
因為公司的項目是用jeecg框架開發的,jeecg官網有一些說明文檔可以參考:http://jeecg.iteye.com/blog/2320670。我主要講一下按照他這個文檔配置之后遇到的問題,下載的jeecg3.7.1版本,在官網就可以找到,發現他這個框架已經集成了大部分的聊天框架,前端用的是layui的實時聊天框架layim,不過他這里的版本比較老,建議去layui官網找最新版本(不過這個目前是付費的,不是很貴可以讓公司買的)。
客戶端的請求js代碼主要在
? ? ? ? ? ? ? ? ? ? ? ?
因為之前沒有接觸過websocket所以在這里遇到了一個坑,
? ? ? ? ? ? ? ? ? ??
這里的chapIp是指你本地的ip地址,你也可以用localhost:8080,正事上線的時候就要換成你們公司用的域名,這里的坑就在你在本地測試的時候一定要把自己的電腦設置好一個固定的ip,就在下圖所示的位置,不能用自動獲得ip地址,不然js中會遇到總是連接失敗的錯誤。
? ? ? ? ? ? ? ? ? ? ? ? ??
服務端的代碼被他們打成了jar,在這個jeecg-p3-biz-chat-1.0.1.jar包中的\com\jeecg\chat\web\WebSocket.class,這個文件,用開發工具打開可以看到
? ? ? ? ? ?
采用的是注解的方式配置的,如果你想改這里的代碼,就自己新建一個類把這個內容復制過去,然后把之前說的config.js
? ? ? ? ??這里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框架開發的前提下才適用。
總結
以上是生活随笔為你收集整理的jeecg框架下的websocket的配置调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rdkit安装
- 下一篇: 在shell脚本执行hbase命令