资源简介
基于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
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论