1.前言 最近有同学问我有没有做过在线咨询功能.同时,公司也刚好让我接手一个 IM 项目.所以今天抽时间记录一下最近学习的内容.本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 Demo (包含前端和后端,代码下载链接在文末). 2.WebSocket 与 HTTP WebSocket 协议在2008年诞生,2011年成为国际标准.现在所有浏览器都已经支持了.WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向…
前言 对于Redis而言,很多小伙伴只关注其关键的五大基础类型:string.hash.list.set.sorted set(有序集合),其实还有三种特殊类型在很多应用场景也比较适合使用,分别是:bitmap.geospatial.hyperloglog:上一篇(跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时))对五种类型进行分享,接下来结合应用场景来说说三种特殊类型的使用方式: 正文 geospatial(地理空间) 该类型在Redis3.2.0版本中加入,其本质是将经纬度…
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该文件,会报错 4.运行test2.js 二.模块简单使用 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 模块化的开发的好处:提高代码的可维护性,避免修…
深度剖析HashMap的数据存储实现原理(看完必懂篇) 具体的原理分析可以参考一下两篇文章,有透彻的分析! 参考资料: 1. https://www.jianshu.com/p/17177c12f849 [JDK8中的HashMap实现原理及源码分析] 2. https://tech.meituan.com/java-hashmap.html [Java 8系列之重新认识HashMap] 1.关键字段: /** * The default initial capacity - MUST be a…
系统环境 操作系统:CentOS 6 或 CentOS 7 JDK 版本:1.8.0_151 Ambari 版本:2.6.1 HDP 版本:2.6.4.0 扩展链接 Kerberos原理--经典对话 基于ambari的Kerberos安装配置 Windows本地安装配置Kerberos客户端 Kerberos应用 基于Ambari禁用Kerberos 基于Kerberos环境下,使用Java连接操作Hive 看完您如果还不明白 Kerberos 原理,算我输! 一.Kerberos概述 强大的身…
本文在个人技术博客同步发布,详情可猛戳 亦可扫描屏幕右方二维码关注个人公众号 Http存在的问题   上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵.还有大家平时喜欢用的万能钥匙,等等.那我们平时上网可能会存在哪些风险呢?   1. 泄密,个人隐私.账户密码等信息可能会被盗取.   2. 篡改,收到的数据可能被第三方修改过,或被植入广告等.   3. 假冒,访问的站点非目标服务器站点.如域名欺骗.域名劫持.钓鱼网站等.   可能住你隔壁穿人字拖…
看完这篇文章,我奶奶都懂了https的原理 http://www.17coding.info/article/22 非对称算法 以及 CA证书 公钥 核心是 大的质数不一分解 还有 就是 椭圆曲线算法的安全性来决定的.. 这一块的核心是数学 不过数学是我的弱项. 学习的东西太多了 比如 那个傅里叶变换 一直看不懂 还有香农定理. Http存在的问题   上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵.还有大家平时喜欢用的万能钥匙,等等.那我们平…
IntentService是什么 在内部封装了 Handler.消息队列的一个Service子类,适合在后台执行一系列串行依次执行的耗时异步任务,方便了我们的日常coding(普通的Service则是需要另外创建子线程和控制任务执行顺序) IntentService的缺点 IntentService,一次只可处理一个任务请求,不可并行,接受到的所有任务请求都会在同一个工作线程执行 IntentService is subject to all the background execution l…
在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎 一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HT…
参考: 博客1:http://blog.sina.com.cn/s/blog_bf397e780102w25k.html https://www.cnblogs.com/barrywxx/p/7412808.html 目录: 第1部分:ubuntu安装wscat和调试websocket 第2部分:http原理简述 第3部分:websocket原理简述 第4部分:websocket与http的区别 第5部分:基于c/c++实现一个websocket协议栈 第1部分 运行环境:ubuntu16.04…