当前位置: 首页 > 工具软件 > JFinal-event > 使用案例 >

jfinal消息服务器,JFinal整合WebSocket,服务端给客户端发送消息

晏炳
2023-12-01

webSocket处理类com.zr.platform.websocketjava.io.IOExceptionjava.util.Setjava.util.concurrent.CopyOnWriteArraySetjava.util.concurrent.atomic.AtomicIntegerjavax.websocket.javax.websocket.javax.websocket.javax.websocket.Sessionjavax.websocket.server.(=)

WebSocketController {

String = AtomicInteger = AtomicInteger()Set = CopyOnWriteArraySet<>()String =Session () {

= + .getAndIncrement()}

(Session session) {

.= session.add()System..println(+ session.getId())String message = String.()(message)}

(Session session) {

System..println(+ session.getId()).remove()String message = String.()(message)}

(String messageSession session) {

System..println(+message++session.getId())String response = String.(message)(response)}

(String msg) {

(WebSocketController client : ) {

{

(client) {

client..getBasicRemote().sendText(msg)}

} (IOException e) {

System..println().remove(client){

client..close()} (IOException e1) {

}

String message = String.(client.)(message)}

}

}

}

需要新加一个Handler拦截websocket请求com.zr.platform.websocketjava.util.regex.Patternjavax.servlet.http.HttpServletRequestjavax.servlet.http.HttpServletResponsecom.jfinal.handler.Handlercom.jfinal.kit.StrKitWebSocketHandler Handler{

Pattern (String filterUrlRegx) {

(StrKit.(filterUrlRegx))

IllegalArgumentException()= Pattern.(filterUrlRegx)}

(String targetHttpServletRequest requestHttpServletResponse response[] isHandled) {

(.matcher(target).find())

.handle(targetrequestresponseisHandled)}

}

在JFinal配置文件里配置 (MainConfig)

(Handlers me) {

me.add(WebSocketHandler())}

客户端页面websocket = (in window){

websocket = WebSocket()}

{

()

}

websocket.= (){

console.()}websocket.= (event){

console.()}

websocket.= (event){

console.(event.data)}

websocket.= (){

console.()}

window.= (){

websocket.()}

(innerHTML){

document.().+= innerHTML + }

(){

websocket.()}

(){

message = document.().valuewebsocket.(message)}

 类似资料: