websocket

Why is EventSource connection closed every 30-60 sec when no data transported, while WebSocket's one is kept open?

帅比萌擦擦* 提交于 2020-12-29 09:59:20
问题 I would like to push data to users every 2 min. Using EventSource requires additional pushing null-byte every 29 sec to keep the connection open. WebSocket doesn't require such ping. Why is the EventSource connection regularly closed and reopened? Is it because there is no good built-in way in HTTP to check if the connection is still open or other reason? 回答1: The Server-Sent Events (Eventsource) API is layered on HTTP. WebSocket is layered on TCP (but has an HTTP compatible handshake). Both

【程序源代码】Activiti6+java+oa开发框架系统

北战南征 提交于 2020-12-29 07:34:40
关键字:基于Springboot后台,前台vue.js跨域前端,Activiti6工作流的开发框架;是一个非常不错的工作流程开发框架;比较适合做中小型OA项目。 ----------------------------------------------------------- 工作流模块 1. 模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2. 流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3. 运行中流程 :查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人 4. 历史的流程 :查看流程信息、流程用时、流程状态、查看任务发起人信息 5. 待办任务 :查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人 6. 已办任务 :查看自己办理过的任务以及流程信息、流程图、流程状态(作废 驳回 正常完成) ----------------------------------------------------------- 系统模块 1 . 权限管理 :点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。 按钮权限: 给角色分配按钮权限。 2 . 按钮管理 :自定义按钮管理,维护按钮shiro权限标识等 3 . 菜单管理

Beetlex之websocket/tls服务压测工具

╄→尐↘猪︶ㄣ 提交于 2020-12-27 16:39:27
为了方便压力测试ws服务,Beetlex同样提供相关工具来对ws/wss服务的性能进行测试测试。 安装 可以访问https://github.com/beetlex-io/TCPBenchmarks 下载最新版本工作,工具可以运行在linux和windows系统,安装完成后通过浏览器访问相关服务进行操作。 使用 工具提供的操作很简单,只需要简单地添加服务和发送的消息即可对服务进行一个压力测试。在添加服务的时候可以指定ws对应用的path和相关头信息,如果有需要还可以启用SSL。 消息类型 工具发送的消息有两种类型:utf8和hex,分别对应websocket数据包类型的text和binary。 测试方式 工具提供两种测试方式,分别是:请求响应和间隔两种模式。前者是工具收到响应后马上进行下一次数据发送;后者则是每隔指定时间向服务端发送数据。 本地IP选项主要告诉工具由那个IP发起请求,如果测试的连接太多单个IP的端口数满足不了测试的情况下,请根据连接数量来选择多个IP地址。测试工具占用的端口是10000-60000。 高吞吐压测 如果服务端在局域网想测试高吞吐交互则可以选用请求响应模式,这种模式可以具备高强度的压测效果;注意这种测试模式不适合采用大量在连接,只需要适当的连接数量即可。以下用200连接对2K数据进行一个高吞吐测试。 高连接数压测 有些情况只观察大量在线的情况

html javascript connect to raw socket

别来无恙 提交于 2020-12-26 09:40:37
问题 I have a c# tcp server, I want to connect to the server via a html client page. The problem : There is no simple way to create TCP sockets in Javascript on a browser side. Although solutions like Websockets allow to create something that resemble sockets, you can use them to connect only to servers that support Websockets. Not to any random servers that know nothing about HTTP. so is there a solution to connect to my srver. 回答1: No. There just isn't. The browser is a tightly locked down

websocke和http的区别

|▌冷眼眸甩不掉的悲伤 提交于 2020-12-26 09:40:18
同 :建立在TCP之上,同http一样通过TCP来传输数据 不同 : HTTP协议为单向协议,即浏览器只能向服务器请求资源,服务器才能将数据传送给浏览器,而服务器不能主动向浏览器传递数据。分为长连接和短连接,短连接是每次http请求时都需要三次握手才能发送自己的请求,每个request对应一个response;长连接是短时间内保持连接,保持TCP不断开,指的是TCP连接。 WebSocket解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮询问题。 一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像Socket一样,不同的是WebSocket是一种建立在Web基础上的一种简单模拟Socket的协议; WebSocket需要通过握手连接,类似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。 WebSocket在建立握手连接时,数据是通过http协议传输的,“GET/chat HTTP/1.1”,这里面用到的只是http协议一些简单的字段。但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的。 TCP/IP协议(用来传输数据) socket是对TCP/IP协议的封装,本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP。 四层

FaaS技术框架

泄露秘密 提交于 2020-12-25 18:13:28
FaaS介绍 微服务(MicroService)是以专注于单一服务/功能的小型单元块为基础,利用模块化的方式组合成复杂的大型应用服务。 FaaS是Function as a Service的缩写,可以简单理解为功能服务化。FaaS提供了一种比微服务更加服务碎片化的软件架构范式。FaaS可以让研发只需要关注业务代码逻辑,不再关注技术架构。 例如:FaaS提供“选择工作流模板”、“启动工作流”、“完成流程”、“查看工作流状态“功能,当触发“启动工作流”事件后,再研发所需的业务代码。业务与架构分离,让专业更加专业。 FaaS特点 无状态 目的:业务隔离 1、组件业务配置抽离,脚手架工程使用则配置。 2、项目适合即使用 脚手架工程pom.xml引入便使用 脚手架 目的:自定义模版,快速集成 版本化 目的:多元化的需求变更互不影响 概要 技术架构 以微服务为核心的前后端分离,业务积木装配式技术架构。传感器采集,物联网+互联网转换,大数据分布式、存储、计算、可视化加持。消息引擎、搜索引擎、工作流引擎全方位技术支持。 研发模式 Scrum敏捷研发,让每一次需求迭代(task),就像讲故事(story)一样简单。 交付流程 采用DevOps思想,实现有效的软件开发和运营,同时实现卓越的质量和用户体验。 技术栈 微服务 微服务(MicroService)是以专注于单一服务/功能的小型单元块为基础

记住看小电影前一定要检查一下域名是不是 HTTPS 的,不然……

孤人 提交于 2020-12-24 20:27:24
看小电影还是浏览正常网站,一定要检查是不是 HTTPS 的,HTTP有可能被中间人攻击和拦截,下面就是详细的 HTTPS 原理,细思极恐。 来自:https://segmentfault.com/a/1190000023936425 作者:mokeyWie 1. HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。 1.1 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下: 请求 POST http://www.baidu.com HTTP/1.1 Host : www.baidu.com Connection : keep-alive Content-Length : 7 User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 wd =HTTP 响应 HTTP/1.1

How do I connect to a websocket manually, with netcat/socat/telnet?

て烟熏妆下的殇ゞ 提交于 2020-12-24 06:43:00
问题 I am trying to connect to the reference websocket echo server "manually", in order to learn how the protocol works (I am using socat for that). However, the server invariably closes the connection without providing an answer. Any idea why? Here is what I do: socat - TCP:echo.websocket.org:80 Then, I paste the following text in the terminal: GET /?encoding=text HTTP/1.1 Origin: http://www.websocket.org Connection: Upgrade Host: echo.websocket.org Sec-WebSocket-Key: P7Kp2hTLNRPFMGLxPV47eQ==

How do I connect to a websocket manually, with netcat/socat/telnet?

和自甴很熟 提交于 2020-12-24 06:42:51
问题 I am trying to connect to the reference websocket echo server "manually", in order to learn how the protocol works (I am using socat for that). However, the server invariably closes the connection without providing an answer. Any idea why? Here is what I do: socat - TCP:echo.websocket.org:80 Then, I paste the following text in the terminal: GET /?encoding=text HTTP/1.1 Origin: http://www.websocket.org Connection: Upgrade Host: echo.websocket.org Sec-WebSocket-Key: P7Kp2hTLNRPFMGLxPV47eQ==

SSE技术详解:使用 HTTP 做服务端数据推送应用的技术

帅比萌擦擦* 提交于 2020-12-24 01:07:18
SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。   严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来要发送流信息时,客户端就会保持连接打开,SSE 使用的就是这种原理。 一、SSE 能做什么?   理论上, SSE 和 WebSocket 做的是同一件事情。当你需要用新数据局部更新网络应用时,SSE 可以做到不需要用户执行任何操作,便可以完成。   举例我们要做一个统计系统的管理后台,我们想知道统计数据的实时情况。类似这种更新频繁、 低延迟的场景,SSE 可以完全满足。   其他一些应用场景:例如邮箱服务的新邮件提醒,微博的新消息推送、管理后台的一些操作实时同步等,SSE 都是不错的选择。 二、SSE vs. WebSocket   SSE 是单向通道,只能服务器向客户端发送消息,如果客户端需要向服务器发送消息,则需要一个新的 HTTP 请求。 这对比 WebSocket 的双工通道来说,会有更大的开销。这么一来的话就会存在一个「什么时候才需要关心这个差异?」的问题,如果平均每秒会向服务器发送一次消息的话,那应该选择 WebSocket。如果一分钟仅 5 - 6 次的话,其实这个差异并不大。   在浏览器兼容方面,两者差不多。在较早之前,每当需要建立双向 Socket 时就会使用