最近,需要公司需要写一个app下单之后,后台要接收到提醒的功能,需要服务器向浏览器推送下单提醒通知。查了好多资料,中间也是遇到了一些坑,所以在这里记录一下。第一次写博客,有不对的地方,希望大牛指正。
一、要做的准备工作:
1.将项目放在tomcat里面
2.下载一个wepsockt-api的jar包
3.新建一个websocketController
4.新建一个indexConter和一个test页面(这里因为涉及到 公司的私密,所以暂时搞了个test页面)
二、wepsockt-api.jar包下载
下载地址:https://download.youkuaiyun.com/download/zixing2000/10317413
三.websocketContrller代码
package com.mult.work.websocket;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import com.jfinal.kit.Kv;
import com.jfinal.kit.LogKit;
import com.jfinal.kit.StrKit;
@ServerEndpoint("/websocket.ws/{ids}")
public class WebSocketController {
public static final WebSocketController me = new WebSocketController();
//用来存放每个客户端对应的MyWebSocket对象。
private static final Map<String, WebSocketController> WEB_SOCKET_MAP = new ConcurrentHashMap<String, WebSocketController>();
private static final Map<String, Kv> WEB_KV = new ConcurrentHashMap<String, Kv>();
//与某个客户端的连接会话,需要通过它来给客户端发送数据
private Session session;
//UUID 生成的IDS
private String ids;
//name 昵称
private String name;
/**
* 连接建立成功调用的方法
* &#