SpringBootWebSocket 服务器发送事件

Posted eddieblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBootWebSocket 服务器发送事件相关的知识,希望对你有一定的参考价值。

前言:

必需学会SpringBoot基础知识

简介:

Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible.

工具:

JDK8

apache-maven-3.5.2

IntelliJ IDEA 2018.1.3 x64

WebSocket 介绍

WebSocket 协议本质上是一个基于 TCP 的协议。

为了建立一个 WebSocket 连接,客户端浏览器首先要向服务器发起一个 HTTP 请求,这个请求和通常的 HTTP 请求不同,包含了一些附加头信息,其中附加头信息"Upgrade: WebSocket"表明这是一个申请协议升级的 HTTP 请求,服务器端解析这些附加的头信息然后产生应答信息返回给客户端,客户端和服务器端的 WebSocket 连接就建立起来了,双方就可以通过这个连接通道自由的传递信息,并且这个连接会持续存在直到客户端或者服务器端的某一方主动的关闭连接。

详细可以参考: http://www.runoob.com/html/html5-websocket.html


Java与webSocket交互


pom.xml 文件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>


1、使用@ServerEndpoint创立websocket endpoint

  首先要注入ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint。要注意,如果使用独立的servlet容器,而不是直接使用springboot的内置容器,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理。

package com.lwc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

/**
 * @author eddie.lee
 * @Package com.lwc.config
 * @ClassName WebSocketConfig
 * @description
 * @date created in 2018-05-17 10:31
 * @modified by
 */
@Component
public class WebSocketConfig {

    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }

}



以上是关于SpringBootWebSocket 服务器发送事件的主要内容,如果未能解决你的问题,请参考以下文章

springboot websocket实现过程中踩过的坑

Spring Boot Websocket 在 SockJS 客户端测试中抛出“连接被拒绝”

带有 stomp js 的 Spring Boot Websocket:我不断收到哎呀!与 http://localhost:8080/ws 的连接丢失

本地能正常发送邮件 阿里云服务器端发送邮件提示已经成功了 但是发送不过来 显示 Failure sending mail.

linux服务器接收发送报文

cookie的路径决定服务器在发送请求时候 是否决定发送 当路径匹配时候 则发送给服务器