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

  • 大小: 6.65MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-26
  • 語言: Java
  • 標簽: 聊天室??websocket??

資源簡介

此文件為websocket實現的聊天室,后臺源碼為java編寫,下載解壓部署好即可使用

資源截圖

代碼片段和文件信息



import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.Set;
import?java.util.concurrent.CopyOnWriteArraySet;

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;

/**
?*?聊天服務器類
?*?@author?朱宏亮
?*
?*@ServerEndpoint?注解是一個類層次的注解,它的功能主要是將目前的類定義成一個websocket服務器端。
?*注解的值將被用于監聽用戶連接的終端訪問URL地址。
?*
?*onOpen?和?onClose?方法分別被?@OnOpen?和?@OnClose?所注解。
?*這兩個注解的作用不言自明:他們定義了當一個新用戶連接和斷開的時候所調用的方法。
?*
?*onMessage?方法被?@OnMessage?所注解。
?*這個注解定義了當服務器接收到客戶端發送的消息時所調用的方法。
?*注意:這個方法可能包含一個javax.websocket.Session可選參數(在我們的例子里就是session參數)。
?*如果有這個參數,容器將會把當前發送消息客戶端的連接Session注入進去。
?*
?*/
@ServerEndpoint(“/websocket“)
public?class?ChatServer?{
private?static?final?SimpleDateFormat?DATE_FORMAT?=?new?SimpleDateFormat(“yyyy-MM-dd?HH:mm“); //?日期格式化

static?Set?users?=??new?CopyOnWriteArraySet();//把所有的session存在這個static集合里面

@OnOpen
public?void?open(Session?session)?{
//?添加初始化操作
users.add(session);
System.out.println(“當前用戶數量:“+users.size());
}

/**
?*?接受客戶端的消息,并把消息發送給所有連接的會話
?*?@param?message?客戶端發來的消息
?*?@param?session?客戶端的會話
?*/
@OnMessage
public?void?getMessage(String?message?Session?session)?{
//打印message
System.out.println(“當前用戶發送信息:“+message);
System.out.println(“當前用戶sessionID:“+session.getId());

//?把客戶端的消息解析為JSON對象
JSONobject?jsonobject?=?JSONobject.fromobject(message);

//?在消息中添加發送日期
jsonobject.put(“date“?DATE_FORMAT.format(new?Date()));

//?把消息發送給所有連接的會話
int?i?=?0?;
System.out.println(“當前用戶數量:“+users.size());
for?(Session?openSession?:?users)?{

//?添加本條消息是否為當前會話本身發的標志
jsonobject.put(“isSelf“?openSession.equals(session));

//?發送JSON格式的消息
openSession.getAsyncRemote().sendText(jsonobject.toString());

}
}

@OnClose
public?void?close(Session?session)?{
//?添加關閉會話時的操作
users.remove(session);
System.out.println(“用戶已斷開ID:“+session.getId());
}

@onerror
public?void?error(Throwable?t?Session?session)?{
//?添加處理錯誤的操作
try{
System.out.println(“客戶端斷開連接“);
//close(session);
}catch(Exception?a){
a.printStackTrace();
}
}
}

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

????.......???????817??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.classpath

????.......?????????8??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.gitignore

????.......??????1022??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.project

????.......???????555??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\.jsdtscope

????.......???????357??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\org.eclipse.jdt.core.prefs

????.......???????503??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\org.eclipse.wst.common.component

????.......???????335??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\org.eclipse.wst.common.project.facet.core.xml

????.......????????49??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\org.eclipse.wst.jsdt.ui.superType.container

????.......?????????6??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\.settings\org.eclipse.wst.jsdt.ui.superType.name

????.......??????3454??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\build\classes\ChatServer.class

????.......????????29??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\README.md

????.......??????3021??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\src\ChatServer.java

????.......??????3049??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\admin.css

????.......????304221??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\amazeui.css

????.......????305083??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\amazeui.flat.css

????.......????233027??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\amazeui.flat.min.css

????.......????232205??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\amazeui.min.css

????.......????????23??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\css\app.css

????.......??????7215??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\app-icon72x72@2x.png

????.......??????3594??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\admin-chrome.png

????.......??????4030??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\admin-firefox.png

????.......??????3999??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\admin-ie.png

????.......??????3749??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\admin-opera.png

????.......??????4055??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\admin-safari.png

????.......??????2702??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\adminPage.png

????.......??????2581??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\blogPage.png

????.......??????4520??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\landing.png

????.......??????2499??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\landingPage.png

????.......??????2081??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\loginPage.png

????.......??????2365??2016-12-30?15:33??HTML5_WebSocket_JAVA8_Chat\WebContent\assets\i\examples\sidebarPage.png

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

評論

共有 條評論