资源简介
基于Websocket 和Java的简单的聊天室,使用Eclipse开发, 服务器为Tomcat8。
代码片段和文件信息
import java.io.IOException;
import java.util.Hashtable;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
import javax.websocket.CloseReason;
import javax.websocket.CloseReason.CloseCodes;
import javax.websocket.OnClose;
import javax.websocket.onerror;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.RemoteEndpoint;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
//注意此访问地址格式如:“ws://“+ window.location.host+“/${pageContext.request.contextPath}/game“是ws开头的而不是以http:开头的.
@ServerEndpoint(value = “/game“)
public class Socket {
private Logger logger = Logger.getLogger(this.getClass().getName());
static Map sessionMap = new Hashtable();
@OnOpen
public void onOpen(Session session) {
sessionMap.put(session.getId() session);
}
@OnMessage
public void onMessage(String unscrambledWord Session session) {
System.out.println(unscrambledWord);
broadcastAll(“message“unscrambledWord);
}
/**
* 广播给所有人
* @param message
*/
public static void broadcastAll(String typeString message){
Set> set = sessionMap.entrySet();
for(Map.Entry i: set){
try {
i.getValue().getBasicRemote().sendText(“{type:‘“+type+“‘text:‘“+message+“‘}“);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@OnClose
public void onClose(Session session CloseReason closeReason) {
sessionMap.remove(session.getId());
logger.info(String.format(“Session %s closed because of %s“ session.getId() closeReason));
}
@onerror
public void error(Session session java.lang.Throwable throwable){
sessionMap.remove(session.getId());
System.err.println(“session “+session.getId()+“ error:“+throwable);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 836 2016-04-25 10:46 WebSocket\.classpath
文件 1042 2016-04-25 10:46 WebSocket\.project
文件 567 2016-04-25 10:46 WebSocket\.settings\.jsdtscope
文件 364 2016-04-25 10:46 WebSocket\.settings\org.eclipse.jdt.core.prefs
文件 479 2016-04-25 10:46 WebSocket\.settings\org.eclipse.wst.common.component
文件 345 2016-04-25 10:46 WebSocket\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2016-04-25 10:46 WebSocket\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2016-04-25 10:46 WebSocket\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 3825 2016-05-01 15:02 WebSocket\build\classes\Socket.class
文件 2090 2016-04-29 20:31 WebSocket\src\Socket.java
文件 1777 2016-04-29 17:56 WebSocket\WebContent\chatroom.jsp
文件 39 2016-04-25 10:46 WebSocket\WebContent\me
文件 660 2016-04-25 10:47 WebSocket\WebContent\WEB-INF\web.xm
目录 0 2016-05-01 15:02 WebSocket\build\classes\chat
目录 0 2016-04-25 10:46 WebSocket\WebContent\WEB-INF\lib
目录 0 2016-05-01 15:02 WebSocket\build\classes
目录 0 2016-04-25 10:46 WebSocket\WebContent\me
目录 0 2016-04-25 10:47 WebSocket\WebContent\WEB-INF
目录 0 2016-04-25 10:46 WebSocket\.settings
目录 0 2016-04-25 10:46 WebSocket\build
目录 0 2016-05-02 10:03 WebSocket\src
目录 0 2016-04-25 10:46 WebSocket\WebContent
目录 0 2016-04-25 10:46 WebSocket
----------- --------- ---------- ----- ----
12079 23
相关资源
- com.android.ide.eclipse.ndk_23.0.2.1259578.jar
- 仿QQ聊天软件源代码java版
- java图片编辑工具
- Java实现读者优先与写者优先
- rxtxSerial.dllrxtx+RXTXcomm.jar官方完整包
- 使用java编写的MIPS模拟器
- java程序员职业生涯规划
- Java版仿QQ验证码风格图片验证码
- 北邮java作业3
- 北邮java作业1
- 北邮java作业
- javaweb天气预报
- java 调用 Cplex 使用手册
-
java生成二维码以及二维码转ba
se64字 - google-common.jar
- IEEE 802.3以太网帧封装——javafx可视化
- Java编程 翻译 编写程序,输入数字,
-
javax.xm
l.ws.Service 报错需要的包 - java语言 solitaire 纸牌游戏
- 精简版UC浏览器7.2 Java通用版 适合小内
- Java咖啡厅系统
- java拼图游戏(含源码)
- java 通讯录源码简单易懂
- JavaAgent-agentmain方式
- java 幸运52游戏
- java-根据word模板生成word-freemarker-完整
- Java学生选课系统
- 达内 java 全套视频百度云分享
-
Java通过Ole调用Windows Media Pla
yer - 百度AI人脸比对java
评论
共有 条评论