package com.zhenzhigu.chat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Vector; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import net.sf.json.JSONObject; @ServerEndpoint("/websocket") public class ChatServer { private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private static Vector<Session> room = new Vector<Session>(); /** * 用户接入 * @param session 可选 */ @OnOpen public void onOpen(Session session){ room.addElement(session); } /** * 接收到来自用户的消息 * @param message * @param session */ @OnMessage public void onMessage(String message,Session session){ //把用户发来的消息解析为JSON对象 JSONObject obj = JSONObject.fromObject(message); //向JSON对象中添加发送时间 obj.put("date", df.format(new Date())); //遍历聊天室中的所有会话 for(Session se : room){ //设置消息是否为自己的 obj.put("isSelf", se.equals(session)); //发送消息给远程用户 se.getAsyncRemote().sendText(obj.toString()); } } /** * 用户断开 * @param session */ @OnClose public void onClose(Session session){ room.remove(session); } /** * 用户连接异常 * @param t */ @OnError public void onError(Throwable t){ System.out.println("用户连接异常..."); } }
最近下载更多
光头强1024 LV7
2023年6月8日
Tg171017 LV12
2023年2月18日
dengjunjun LV15
2022年10月28日
364550246 LV15
2022年5月3日
弹指轻蔑 LV1
2022年3月1日
Mayoubin2001 LV21
2022年2月19日
xingbing LV9
2022年1月28日
谢小饭_ LV8
2022年1月21日
ewan007 LV30
2021年8月29日
守望 LV2
2021年7月14日
最近浏览更多
54321zz
10月15日
暂无贡献等级
蓝蓝蓝说的
10月8日
暂无贡献等级
xxxyyyddd
10月8日
暂无贡献等级
igher123 LV1
10月8日
ljh12134546
10月8日
暂无贡献等级
周鸣郝 LV2
5月26日
qq970040477 LV24
5月26日
lalalla159 LV3
2023年12月2日
yybb7435100 LV2
2023年8月7日
你爹正在加载中 LV4
2023年7月19日