91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

WebSocket+Tomcat8實現-Web版即時聊天室

資源截圖

代碼片段和文件信息

package?com.socket;

import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Map;

import?javax.servlet.http.HttpSession;
import?javax.websocket.EndpointConfig;
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?utils.MessageUtil;



@ServerEndpoint(value?=?“/websocket“configurator=GetHttpSessionConfigurator.class)
public?class?ChatServlet?{


private?static?final?Map?onlineUsers?=?new?HashMap();

private?static?int?onlineCount?=?0;

private?HttpSession?httpSession;

private?Session?session;


@OnOpen
public?void?onOpen(Session?sessionEndpointConfig?config){

this.session?=?session;
this.httpSession?=?(HttpSession)?config.getUserProperties().get(HttpSession.class.getName());
if(httpSession.getAttribute(“user“)?!=?null){
onlineUsers.put(httpSession?this);
}
String?names?=?getNames();
String?content?=?MessageUtil.sendContent(MessageUtil.USERnames);
broadcastAll(content);
addOnlineCount();???????????//在線數加1
System.out.println(“有新連接加入!當前在線人數為“?+?onlineUsers.size());
}

@OnClose
public?void?onClose(){
onlineUsers.remove(this);??//從set中刪除
subOnlineCount();???????????//在線數減1???
System.out.println(“有一連接關閉!當前在線人數為“?+?getOnlineCount());
}

@OnMessage
public?void?onMessage(String?message?Session?session)?throws?IOException?{

HashMap?messageMap?=?MessageUtil.getMessage(message);????//處理消息類
String?fromName?=?messageMap.get(“fromName“);????//消息來自人?的userId
String?toName?=?messageMap.get(“toName“);???????//消息發往人的?userId
String?mapContent?=?messageMap.get(“content“);


if(toName.isEmpty()){
sendOffLine(fromNametoName);
return;
}

if(“all“.equals(toName)){
String?msgContentString?=?fromName?+?“對所有人說:?“?+?mapContent;???//構造發送的消息
String?content?=?MessageUtil.sendContent(MessageUtil.MESSAGEmsgContentString);
broadcastAll(content);
}else{
try?{
String?content?=?MessageUtil.sendContent(MessageUtil.MESSAGEmapContent);
singleChat(fromNametoNamecontent);
}?catch?(IOException?e)?{
e.printStackTrace();
}
}


System.out.println(“來自客戶端的消息:“?+?message);
broadcastAll(message);
}

private?void?singleChat(String?fromName?String?toName?String?mapContent)?throws?IOException?{
String?msgContentString?=?fromName?+?“對“?+?toName?+?“說:?“?+?mapContent;
String?contentTemp?=?MessageUtil.sendContent(MessageUtil.MESSAGEmsgContentString);
boolean?isExit?=?false;
for?(HttpSession?key?:?onlineUsers.keySet())?{
if(key.getAttribute(“user“).equals(toName)){
isExit?=?true;
}
}
if(isExit){
for?(HttpSession?key?:?onlineUsers.keySet())?{
if(key.getAttribute(“user“).equals(fromName)?||?key.getAttribute(“user“).equals(toName))

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????834??2015-10-13?08:32??WebSocket8\.classpath

?????文件???????1043??2015-10-13?08:32??WebSocket8\.project

?????文件????????503??2015-10-13?08:32??WebSocket8\.settings\.jsdtscope

?????文件????????364??2015-10-13?08:32??WebSocket8\.settings\org.eclipse.jdt.core.prefs

?????文件????????482??2015-10-13?08:32??WebSocket8\.settings\org.eclipse.wst.common.component

?????文件????????345??2015-10-13?08:32??WebSocket8\.settings\org.eclipse.wst.common.project.facet.core.xml

?????文件?????????49??2015-10-13?08:32??WebSocket8\.settings\org.eclipse.wst.jsdt.ui.superType.container

?????文件??????????6??2015-10-13?08:32??WebSocket8\.settings\org.eclipse.wst.jsdt.ui.superType.name

?????文件???????6329??2015-10-13?11:35??WebSocket8\build\classes\com\socket\ChatServlet.class

?????文件???????1288??2015-10-13?10:38??WebSocket8\build\classes\com\socket\GetHttpSessionConfigurator.class

?????文件???????1077??2015-10-13?10:38??WebSocket8\build\classes\utils\HTMLFilter.class

?????文件???????1706??2015-10-13?10:44??WebSocket8\build\classes\utils\MessageUtil.class

?????文件???????4757??2015-10-13?11:35??WebSocket8\src\com\socket\ChatServlet.java

?????文件????????582??2015-10-13?08:32??WebSocket8\src\com\socket\GetHttpSessionConfigurator.java

?????文件???????2148??2015-10-13?08:32??WebSocket8\src\utils\HTMLFilter.java

?????文件????????937??2015-10-13?10:43??WebSocket8\src\utils\MessageUtil.java

?????文件???????2617??2015-10-13?11:55??WebSocket8\WebContent\chat.jsp

?????文件??????94845??2015-10-07?10:09??WebSocket8\WebContent\js\jquery-1.7.2.min.js

?????文件????????491??2015-10-09?14:43??WebSocket8\WebContent\login.jsp

?????文件?????????39??2015-10-13?08:32??WebSocket8\WebContent\meta-INF\MANIFEST.MF

?????文件?????210856??2015-10-13?10:38??WebSocket8\WebContent\WEB-INF\lib\gson-2.3.1.jar

?????文件????????243??2015-10-07?08:48??WebSocket8\WebContent\WEB-INF\web.xml

?????目錄??????????0??2015-10-13?10:38??WebSocket8\build\classes\com\socket

?????目錄??????????0??2015-10-13?10:38??WebSocket8\build\classes\com

?????目錄??????????0??2015-10-13?10:38??WebSocket8\build\classes\utils

?????目錄??????????0??2015-10-13?08:53??WebSocket8\src\com\socket

?????目錄??????????0??2015-10-13?10:38??WebSocket8\WebContent\WEB-INF\lib

?????目錄??????????0??2015-10-13?10:38??WebSocket8\build\classes

?????目錄??????????0??2015-10-13?08:32??WebSocket8\src\com

?????目錄??????????0??2015-10-13?08:32??WebSocket8\src\utils

............此處省略11個文件信息

評論

共有 條評論