WebRTC (Web Real-Time Communications)
- WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
WebSocket
-
WebSocket是一种通信协议,可在单个TCP连接上进行全双工通信。WebSocket协议在2011年由IETF标准化为RFC 6455,后由RFC 7936补充规范。Web IDL中的WebSocket API由W3C标准化。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。
基础配置
-
webSocket配置支持,涉及到@Autowired注入需要注意
-
项目启动时会初始化websocket,spring会为其注入service,此时@Autowired对象不为null
-
但是,spring默认管理单例模式,只会注入一次service,当新用户进入聊天,系统创建新的websocket对象,新的websocket对象不会被注入service,此时@Autowired为null报错
-
解决方式: stataic修饰 || 使用Spring自带的WebSocket实现方式
-
/** * 开启WebSocket支持 * * @author wangJiaLun * @date 2019-06-19 **/ @Configuration public class WebSocketConfig extends ServerEndpointConfig.Configurator{ @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } }
-