websocket

Springboot整合Websocket实现一对一消息推送和广播消息推送

☆樱花仙子☆ 提交于 2020-12-23 15:12:27
只是yi知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑: 业余草 来源: segmentfault.com/a/1190000011908831 推荐: https://www.xttblog.com/?p=5028 B 站: 业余草 springboot基础环境 具体请参考 Springboot 官方文档。 maven依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-websocket </ artifactId > </ dependency > 代码准备 准备常量类 //webSocket相关配置 //链接地址 public static String WEBSOCKETPATHPERFIX = "/ws-push" ; public static String WEBSOCKETPATH = "/endpointWisely" ; //消息代理路径 public static String WEBSOCKETBROADCASTPATH = "/topic" ; //前端发送给服务端请求地址 public static final String

Springboot整合websocket实现一对一消息推送和广播消息推送

戏子无情 提交于 2020-12-23 11:33:36
springboot基础环境 请参考springboot文档 maven依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-websocket </ artifactId > </ dependency > 代码准备 准备常量类 //webSocket相关配置 //链接地址 public static String WEBSOCKETPATHPERFIX = "/ws-push" ; public static String WEBSOCKETPATH = "/endpointWisely" ; //消息代理路径 public static String WEBSOCKETBROADCASTPATH = "/topic" ; //前端发送给服务端请求地址 public static final String FORETOSERVERPATH = "/welcome" ; //服务端生产地址,客户端订阅此地址以接收服务端生产的消息 public static final String PRODUCERPATH = "/topic/getResponse" ; //点对点消息推送地址前缀 public static final

uni-app实战仿微信app开发

扶醉桌前 提交于 2020-12-20 08:07:11
适用人群 具有Html+Css+JavaScript基础,有一定的Vue.js基础,挑战高薪职位 课程概述本季度为uni-app + egg.js 实战仿微信app和小程序全栈开发,开启纯nvue原生渲染,大大提高性能。一次开发,同时搞定Android、iOS和小程序端等。 攻城狮 目录 章节1:项目介绍试看 章节2:环境搭建和项目创建 课时2视频创建项目和开启原生渲染08:35 章节3:全局配置 课时3视频引入全局样式(一)08:11 课时4视频引入全局样式(二)08:15 课时5视频引入自定义图标库(一)07:51 课时6视频引入自定义图标库(二)全局引入02:56 课时7视频引入自定义图标库(三)兼容多端05:28 课时8视频配置tabbar底部导航09:21 课时9视频配置globalStyle03:00 章节4:聊天列表页开发 课时10视频头部导航组件开发12:43 课时11视频 图标按钮组件封装05:11 课时12视频封装头部导航组件(一)06:46 课时13视频 封装头部导航组件(二)08:25 课时14视频开发聊天列表组件(一)11:32 课时15视频开发聊天列表组件(二)09:04 课时16视频封装头像组件04:34 课时17视频badge组件开发06:23 课时18视频封装badge组件05:39 课时19视频封装聊天列表组件08:52

【HTTP】Http协议知识点

假如想象 提交于 2020-12-20 07:01:17
HTTP协议简介   HTTP 协议是互联网中最广泛使用的协议,也是做web开发的基础。我们先了解下HTTP协议发展的历史。      1. HTTP/0.9(1991年) :       是HTTP协议第一个协议,不过比较简单,只有一个GET命令用于获取文件,没有请求头(HEADER)。 第一个定稿的HTTP版本 作者:nickcau 链接:http://www.imooc.com/article/266160 来源:慕课网 本文首次发布于慕课网 ,转载请注明出处,谢谢合作 第一个定稿的HTTP版本 作者:nickcau 链接:http://www.imooc.com/article/266160 来源:慕课网 本文首次发布于慕课网 ,转载请注明出处,谢谢合作      2. HTTP/1.0(1996年) :       相较于0.9版本非常健全了。规定了http请求由请求头,请求体,对应的还有响应头,响应体。除了GET命令,还增加了POST,HEAD等命令。      3. HTTP/1.1(1997年) :       增加了connection:keep-alive,之前版本http请求在请求一次完成后就断开,不能够持久连接。有了 keep-alive就 可以复用之前的连接,减少因为TCP连接导致的性能损耗。这里提一点,为什么http可以同时发送多个请求

前端常见跨域解决方案

眉间皱痕 提交于 2020-12-19 10:38:36
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入: < link >、 < script > 、 < img > 、 < frame > 等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http: //www.domain.com/a.js http: //www.domain.com/b.js 同一域名,不同文件或路径 允许 http: //www

有关html5概念总结,以及优缺点

匆匆过客 提交于 2020-12-19 04:49:59
1.定义:什么是html5? HTML5 是 W3C 与 WHATWG 合作的结果,HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。(简而言之,html5是html的5.0版本) 2.为html5而定的规则? 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独立于设备 开发进程应对公众透明 3.html5的优缺点 优点: a、网络标准统一、HTML5本身是由W3C推荐出来的。 b、多设备、跨平台 c、即时更新。 d、提高可用性和改进用户的友好体验; e、有几个新的标签,这将有助于开发人员定义重要的内容; f、可以给站点带来更多的多媒体元素(视频和音频); g、可以很好的替代Flash和Silverlight; h、涉及到网站的抓取和索引的时候,对于SEO很友好; i、被大量应用于移动应用程序和游戏。 缺点: a、安全:像之前Firefox4的web socket和透明代理的实现存在严重的安全问题,同时web storage、web socket 这样的功能很容易被黑客利用,来盗取用户的信息和资料。 b、完善性:许多特性各浏览器的支持程度也不一样。 c、技术门槛:HTML5简化开发者工作的同时代表了有许多新的属性和API需要开发者学习

这份程序员必备书籍《Spring实战4》,你确定不看看?

扶醉桌前 提交于 2020-12-19 01:25:34
Spring框架是以简化Java EE应用程序的开发为目标而创建的。同样, 本书是为了帮助读者更容易地使用Spring而编写的。我的目标不是为 读者详细地列出Spring API,而是希望通过现实中的实际示例代码来 为Java EE开发人员展现Spring框架。因为Spring是一个模块化的框 架,所以这本书也是按照这种方式编写的。我们知道并不是所有的开 发人员都有相同的需求,有些人想从头学习Spring,而有的可能只想 排出几个主题,然后按照自己的节奏来学习。 本书适用于所有的Java开发人员,企业级Java开发人员将会发现更有 帮助。我将会循序渐进地指导读者浏览本书中每章复杂的示例代码, 但Spring的真正强大之处在于它能够使企业级应用程序的开发更简 单。因此,企业级应用程序的开发人员会更加欣赏本书的示例代码。 因为Spring的绝大部分内容都是提供企业级服务的,所以这里包含了 许多Spring和EJB的比较。 第1部分 Spring的核心 第1章 Spring之旅 1.1简化Java开发 1.2容纳你的Bean 1.3俯瞰Spring风景线 1.4 Spring的新功能 1.5小结 第2章 装配Bean 2.1 Spring配置的可选方案 2.2自动化装配bean 2.3通过Java代码装配bean 2.4通过XML装配bean 2.5导入和混合配置 2.6小结 第3章

websocket基础

ε祈祈猫儿з 提交于 2020-12-18 09:35:34
浏览器如何和服务器保持实时通信呢?常用的有以下四种方案: (1).ajax,每隔一定时间发送一次请求。 (2).长轮询,http链接建立后,如果服务器还没有数据要返回的话,这个http链接就halt住,一直halt到有数据了然后发送给浏览器,然后再次发起第二次HTTP链接...重复上述过程。 (3).长连接(SSE) 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载。 SSE 就是利用这种机制,基于http协议,使用流信息向浏览器推送信息。不过,SSE是单向通道,只能服务器向浏览器发送,因为流信息本质上就是下载。如果浏览器向服务器发送信息,就变成了另一次 HTTP 请求。 (4).websocket Websocket协议和HTTP协议都位于网络中的应用层,都是应用层协议,而TCP则是位于传输层,属于传输层协议,并且WS和HTTP都是基于TCP实现的上层协议,与HTTP不同的是,WS可以使得客户端(广义客户端,包括浏览器)与服务器建立一个长链接全双工的通信信道

C#开源项目:SiMay远程控制管理系统

北城余情 提交于 2020-12-17 06:41:35
C#开源项目:SiMay远程控制管理系统 Gitee仓库截图 下方基于原项目仓库readme 系统介绍 SiMay远程控制管理系统是一个Windows远程控制系统,底层基于IOCP的异步通信模型,能对海量客户端实时监控,目前功能已实现:逐行扫描远程桌面经典的文件管理、实时远程语音、实时摄像头、经典注册表管理、命令行终端、实时系统进程管理、用户桌面视图墙轮播等功能。并且可捕获UAC,WinLogon桌面。系统实现了中间会话服务器,可支持不同平台多主控端同时监控同一被控端。被控服务端支持绿色启动及以系统服务方式安装,项目完全采用C#.NET开发,代码仅供参考,项目不定时更新,欢迎关注点星星,fork。欢迎入群技术交流:905958449 :laughing: :blush: 申明 作为创作者,我对由此软件引起的任何行为和/或损害不承担任何责任。您对自己的行为承担全部责任,并承认此软件仅用于教育和研究目的。不得用于您不拥有或有权使用的任何系统。使用此软件,您自动同意上述内容,感谢支持。 背景 本项目仅为个人项目,经过几次重构,系统相对比较成熟了,决定开源反馈开源社区,希望更多人能和我一起进步,欢迎吐槽改进。 主控界面 创建服务端 远程桌面 文件管理 语音传输 注册表管理 中间服务器 系统项目结构 SiMay.Core【公共核心功能】 SiMay.Basic --基础通用库 SiMay

Springboot 定时任务,service层无法注入问题详细解决

房东的猫 提交于 2020-12-14 11:01:25
开发一个微信小程序后台,建立websocket 长连接,需要后台开启定时任务, 定时任务定时查库,相应前台 但是具体执行过程中一直在报空指针错误,最后定位到service 为空,无法调用其相关的方法导致的 于是我尝试不用@Autowired 注入实例,自己new ,但是还是失败了,报空指针 这是spring的一个Bug ,需要手动去配置一个类,主动获取实例,在定时任务中(继承TimerTask类),@Autowired 是失效的,无法注入 解决方案如下: 1.首先添加一个工具类,就是application 应注意,同样需要注入添加 @Compent注解 package com.cskaoyan.carparking.utils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; /** * [@Auther]