package com.websocket.demo.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 前后端交互的类实现消息的接收推送(自己发送给自己)
*
* @ServerEndpoint(value = "/test/one") 前端通过此URI和后端交互,建立连接
*/
@Slf4j
@ServerEndpoint(value = "/test/one")
@Component
public class OneWebSocket {
/**
* 记录当前在线连接数
*/
private static AtomicInteger onlineCount = new AtomicInteger(0);
/**
* 连接建立成功调用的方法
*/
@OnOpen
public void onOpen(Session session) {
onlineCount.incrementAndGet(); // 在线数加1
log.info("有新连接加入:{},当前在线人数为:{}", session.getId(), onlineCount.get());
}
/**
* 连接关闭调用的方法
*/
@OnClose
public void onClose(Session session) {
onlineCount.decrementAndGet(); // 在线数减1
log.info("有一连接关闭:{},当前在线人数为:{}", session.getId(), onlineCount.get());
}
/**
* 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息
*/
@OnMessage
public void onMessage(String message, Session session) {
log.info("服务端收到客户端[{}]的消息:{}", session.getId(), message);
this.sendMessage("Hello, " + message, session);
}
@OnError
public void onError(Session session, Throwable error) {
log.error("发生错误");
error.printStackTrace();
}
/**
* 服务端发送消息给客户端
*/
private void sendMessage(String message, Session toSession) {
try {
log.info("服务端给客户端[{}]发送消息{}", toSession.getId(), message);
toSession.getBasicRemote().sendText(message);
} catch (Exception e) {
log.error("服务端发送消息给客户端失败:{}", e);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
spingboot+ websocket
共91个文件
xml:72个
class:4个
java:4个
需积分: 6 1 下载量 148 浏览量
2022-03-03
14:48:41
上传
评论
收藏 54KB ZIP 举报
温馨提示
springboot + wensocket
资源详情
资源评论
资源推荐
收起资源包目录
websocket.zip (91个子文件)
websocket
pom.xml 2KB
target
test-classes
com
websocket
demo
DemoApplicationTests.class 535B
generated-test-sources
test-annotations
classes
application.yml 22B
com
websocket
demo
config
WebSocketConfig.class 724B
controller
OneWebSocket.class 3KB
DemoApplication.class 737B
static
index.html 2KB
generated-sources
annotations
test.iml 8KB
mvnw 10KB
src
test
java
com
websocket
demo
DemoApplicationTests.java 217B
main
resources
application.yml 22B
templates
static
index.html 2KB
java
com
websocket
demo
config
WebSocketConfig.java 551B
controller
OneWebSocket.java 2KB
DemoApplication.java 319B
.idea
misc.xml 451B
jarRepositories.xml 864B
.name 4B
modules.xml 255B
encodings.xml 191B
compiler.xml 867B
workspace.xml 5KB
.gitignore 184B
libraries
Maven__net_minidev_json_smart_2_4_8.xml 521B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_1.xml 602B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_4.xml 692B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_58.xml 611B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_1.xml 695B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_4.xml 671B
Maven__org_ow2_asm_asm_9_1.xml 458B
Maven__org_springframework_spring_aop_5_3_16.xml 560B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 594B
Maven__org_yaml_snakeyaml_1_29.xml 495B
Maven__org_springframework_boot_spring_boot_2_6_4.xml 580B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 615B
Maven__org_springframework_spring_webmvc_5_3_16.xml 581B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 633B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_4.xml 713B
Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml 598B
Maven__org_apache_logging_log4j_log4j_api_2_17_1.xml 573B
Maven__org_hamcrest_hamcrest_2_2.xml 497B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_1.xml 630B
Maven__org_mockito_mockito_core_4_0_0.xml 535B
Maven__org_xmlunit_xmlunit_core_2_8_4.xml 535B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_4.xml 671B
Maven__net_minidev_accessors_smart_2_4_8.xml 556B
Maven__org_springframework_spring_test_5_3_16.xml 567B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_1.xml 681B
Maven__org_springframework_spring_expression_5_3_16.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_1.xml 608B
Maven__org_springframework_boot_spring_boot_starter_websocket_2_6_4.xml 706B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 633B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_1.xml 736B
Maven__org_springframework_spring_core_5_3_16.xml 567B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_4.xml 685B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_4.xml 664B
Maven__org_springframework_boot_spring_boot_test_2_6_4.xml 615B
Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml 585B
Maven__org_springframework_spring_web_5_3_16.xml 560B
Maven__ch_qos_logback_logback_core_1_2_10.xml 554B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__org_assertj_assertj_core_3_21_0.xml 542B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 537B
Maven__org_springframework_spring_context_5_3_16.xml 588B
Maven__ch_qos_logback_logback_classic_1_2_10.xml 575B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_1.xml 651B
Maven__org_springframework_spring_jcl_5_3_16.xml 560B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_58.xml 625B
Maven__com_alibaba_fastjson_1_2_47.xml 514B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_4.xml 678B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__org_opentest4j_opentest4j_1_2_0.xml 533B
Maven__org_slf4j_jul_to_slf4j_1_7_36.xml 534B
Maven__org_springframework_spring_websocket_5_3_16.xml 602B
Maven__org_projectlombok_lombok_1_18_22.xml 531B
Maven__com_jayway_jsonpath_json_path_2_6_0.xml 546B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_58.xml 660B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 566B
Maven__org_springframework_spring_messaging_5_3_16.xml 602B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 626B
Maven__org_objenesis_objenesis_3_2.xml 508B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 572B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 615B
Maven__org_springframework_boot_spring_boot_starter_2_6_4.xml 636B
Maven__org_slf4j_slf4j_api_1_7_36.xml 513B
Maven__net_bytebuddy_byte_buddy_1_11_22.xml 543B
Maven__org_springframework_spring_beans_5_3_16.xml 574B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 611B
.gitignore 395B
mvnw.cmd 7KB
HELP.md 891B
共 91 条
- 1
夏侯渊
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0