资源简介
websocket简单实现,能够对websocket进行一些实现,对初学websocket的人有一定好处。
代码片段和文件信息
package me.gacl.websocket;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.concurrent.CopyOnWriteArraySet;
/**
* @ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端
* 注解的值将被用于监听用户连接的终端访问URL地址客户端可以通过这个URL来连接到WebSocket服务器端
*/
@ServerEndpoint(“/websocket“)
public class WebSocketTest {
//静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
private static int onlineCount = 0;
//concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
private static CopyOnWriteArraySet webSocketSet = new CopyOnWriteArraySet();
//与某个客户端的连接会话,需要通过它来给客户端发送数据
private Session session;
/**
* 连接建立成功调用的方法
* @param session 可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
*/
@OnOpen
public void onOpen(Session session){
this.session = session;
webSocketSet.add(this); //加入set中
addOnlineCount(); //在线数加1
System.out.println(“有新连接加入!当前在线人数为“ + getOnlineCount());
}
/**
* 连接关闭调用的方法
*/
@OnClose
public void onClose(){
webSocketSet.remove(this); //从set中删除
subOnlineCount(); //在线数减1
System.out.println(“有一连接关闭!当前在线人数为“ + getOnlineCount());
}
/**
* 收到客户端消息后调用的方法
* @param message 客户端发送过来的消息
* @param session 可选的参数
*/
@OnMessage
public void onMessage(String message Session session) {
System.out.println(“来自客户端的消息:“ + message);
//群发消息
for(WebSocketTest item: webSocketSet){
try {
item.sendMessage(message);
} catch (IOException e) {
e.printStackTrace();
continue;
}
}
}
/**
* 发生错误时调用
* @param session
* @param error
*/
@onerror
public void onerror(Session session Throwable error){
System.out.println(“发生错误“);
error.printStackTrace();
}
/**
* 这个方法与上面几个方法不一样。没有用注解,是根据自己需要添加的方法。
* @param message
* @throws IOException
*/
public void sendMessage(String message) throws IOException{
this.session.getBasicRemote().sendText(message);
//this.session.getAsyncRemote().sendText(message);
}
public static synchronized int getOnlineCount() {
return onlineCount;
}
public static synchronized void addOnlineCount() {
WebSocketTest.onlineCount++;
}
public static synchronized void subOnlineCount() {
WebSocketTest.onlineCount--;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-31 11:58 JavaWebSocket\
目录 0 2016-02-16 15:41 JavaWebSocket\.idea\
文件 13 2016-02-16 15:08 JavaWebSocket\.idea\.name
目录 0 2016-02-16 15:10 JavaWebSocket\.idea\artifacts\
文件 305 2016-02-16 15:10 JavaWebSocket\.idea\artifacts\JavaWebSocket_war.xm
文件 672 2016-02-16 15:10 JavaWebSocket\.idea\artifacts\JavaWebSocket_war_exploded.xm
文件 1202 2016-02-16 15:08 JavaWebSocket\.idea\compiler.xm
目录 0 2016-02-16 15:08 JavaWebSocket\.idea\copyright\
文件 76 2016-02-16 15:08 JavaWebSocket\.idea\copyright\profiles_settings.xm
目录 0 2016-02-16 15:10 JavaWebSocket\.idea\libraries\
文件 549 2016-02-16 15:10 JavaWebSocket\.idea\libraries\Maven__com_sun_mail_javax_mail_1_5_0.xm
文件 551 2016-02-16 15:10 JavaWebSocket\.idea\libraries\Maven__javax_activation_activation_1_1.xm
文件 507 2016-02-16 15:10 JavaWebSocket\.idea\libraries\Maven__javax_javaee_api_7_0.xm
文件 1727 2016-02-16 15:11 JavaWebSocket\.idea\misc.xm
文件 266 2016-02-16 15:08 JavaWebSocket\.idea\modules.xm
文件 8792 2016-02-16 15:41 JavaWebSocket\.idea\uiDesigner.xm
文件 164 2016-02-16 15:08 JavaWebSocket\.idea\vcs.xm
文件 45206 2016-02-16 16:49 JavaWebSocket\.idea\workspace.xm
文件 1701 2018-10-31 10:26 JavaWebSocket\JavaWebSocket.iml
文件 903 2018-10-31 11:58 JavaWebSocket\pom.xm
目录 0 2016-02-16 15:08 JavaWebSocket\src\
目录 0 2016-02-16 15:10 JavaWebSocket\src\main\
目录 0 2016-02-16 15:38 JavaWebSocket\src\main\java\
目录 0 2016-02-16 15:38 JavaWebSocket\src\main\java\me\
目录 0 2016-02-16 15:38 JavaWebSocket\src\main\java\me\gacl\
目录 0 2018-10-31 10:26 JavaWebSocket\src\main\java\me\gacl\websocket\
文件 2991 2018-10-31 10:26 JavaWebSocket\src\main\java\me\gacl\websocket\WebSocketTest.java
目录 0 2016-02-16 16:49 JavaWebSocket\src\main\resources\
目录 0 2018-10-31 14:00 JavaWebSocket\src\main\webapp\
文件 1933 2018-10-31 14:00 JavaWebSocket\src\main\webapp\index.jsp
目录 0 2016-02-16 15:08 JavaWebSocket\src\main\webapp\WEB-INF\
............此处省略39个文件信息
相关资源
- websocket仿微信后台即时通讯功能
- Okhttp实现websocket链接
- websocket2018
- Streamedian WS RTSP Proxy Server 1.8.5.exe
- SpringMVC+Redis+Activiti+Fastdfs+Thirft+Websoc
- newgcWebSockets 4.1.0.Full.Source稳定版
- 基于websocket的即时通讯H5App源码.rar
- sgcWebSockets421.zip
- WebSocket.pdf
- WebSocket测试工具
- django项目使用dwebsocket案例
- Spring Boot -- 整合Websocket
- WebSocket delphi server 服务端 源代码.r
- SpringBoot+WebSocket--亲测可用
- 简单实用的WebSocket test tools
- 使用django+zeromq+tornado实现基于消息机
- websocket插件
- webSocket 搭建
- WEBSOCKET_fleck.dll
- SpringBoot WebSocket消息推送群发和指定到
- WebSocket测试小程序
- websocket+servlet简单案例代码
- webSocket基于spring boot实现聊天
- spring配置WebSocket开发包
- Nginx + Websocket 实现推送
- WebSocket 常用工具类
- 微信小程序—基于websocket的聊天框
- WebSocket客户端测试工具:v4.20_免费版
- 虚拟币交易平台开发解决方案介绍-
- spring-boot-websocket-client代码
评论
共有 条评论