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日
最近浏览更多
220611325
10月17日
暂无贡献等级
微信网友_7556333962743808 LV1
6月19日
MQ-EQW
2024年12月18日
暂无贡献等级
54321zz
2024年10月15日
暂无贡献等级
蓝蓝蓝说的
2024年10月8日
暂无贡献等级
xxxyyyddd
2024年10月8日
暂无贡献等级
igher123 LV1
2024年10月8日
ljh12134546
2024年10月8日
暂无贡献等级
周鸣郝 LV2
2024年5月26日
qq970040477 LV24
2024年5月26日

