- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 kubernetes(k8s)容器内无法连接同所绑定的Service ClusterIP问题记录
再次开启wireshark 对docker0 抓包, 容器内对 nbusybox-service.default.svc.cluster.local service 就连接不了。问题已初步定位,当启用了 docker0 的混杂模式,容器内对 nbusybox-service.default.svc.cluster.local service 就可以连接。发现 容器内对 nbusybox-service.default.svc.cluster.local service 就可以连接。
2023-11-30 10:50:01
817
原创 深入浅出即时通讯(1)_即时通讯协议对比
1. 即时通讯协议对比业界上用来做即时通讯的解决方案有:1. 基于http 的轮询; 2. 基于websocket 长连接; 3. 基于tcp或udp的自定义协议, 这种若在要在Web端使用, 需要套一层websocket 封装. 此外早期还有基于Comet 技术的长连接,基于xmpp 的开源客户端应用等。1.1 即时通讯协议比较名称特点Web支持模式http短轮询/长轮询实现简单; 开销大,耗费服务器性能与带宽支持请求-响应Websocket连接快,开销小支持
2022-05-16 17:24:23
1695
1
原创 即时通讯加密方案探讨
即时通讯加密方案探讨1.背景:因为互联网是开发透明的,任何人都可能对你的产品进行破解研究,因此,在软件的有良好的安全意识是十分必要的。2.安全问题分析:2.1 客户端方面:客户端被反编译源码,常见如: android apk被反编译,获取加密算法与密钥,从而进行破解,类似的还要使用JavaScript技术跨平台的移动开发框架等,若开发者不注意,很容易被逆向破解。2.2 网络传输方面:一般而言,API在网络中经http/https协议传输,有可能被黑客截取,修改数据包内容,伪造通讯数据获取重
2021-09-10 10:10:54
764
原创 uniapp中使用Socket.IO/websocket实现即时通讯聊天,支持多平台
1.说明:uniapp对多平台适应性好,而经改造的socket.io也适应于uniapp的多个平台, h5, android/ios, 微信小程序等socket.io 比websocket优势: 支持多平台,支持连接管理(自动重连等).2.使用:2.1 导入js库:引用uniapp专业的socket.io.jsconst uniio = require('./uni-socket.io');2.1 连接:前提: 使用node express框架, 或springboot 框架打开socke
2021-09-09 12:18:38
6896
12
原创 仿微信即时通讯SDK-socket.io客户端长连接自动连接
仿微信即时通讯SDK-socket.io客户端长连接自动连接E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。设计思路:在客户端中,启动一个定时器,监听客户端的连接状态,若客户端掉线,采取重新连接即可。setTimeout(()=>{ if(client.disConnected()){ client.connnect() }}, 1000)而E聊使用的socket.io框架已支持自动连接,因此无需做这部分的功能.io.connect(this.server
2021-07-08 17:06:19
237
原创 仿微信即时通讯SDK-保证消息的可靠性
仿微信即时通讯SDK-保证消息的可靠性E聊SDK是免费开源的IM框架, 使用它可以快速二次开发聊天应用。背景:丢失消息的原因无非以下几种:客户端向服务器发消息:客户端发送过程中丢失,未到达服务器;客户端发送的消息到达了服务器,服务器处理时宕机等原因消息丢失;服务器接受到消息,发送响应请求时未到达客户端;对于以上场景,客户端只需在发送每条消息后都对发送结果进行确认,若发送不成功,就重发消息即可,同时服务器侧需要做幂等性去重。服务器向客户端推送消息:服务器推送过程中丢失,未到达客
2021-07-08 17:05:04
312
原创 仿微信即时通讯SDK-如何测试最大连接数测试
仿微信即时通讯SDK-如何测试最大连接数测试E聊SDK是免费开源的IM框架, 使用它可以快速二次开发聊天应用。E聊SDK使用HTTP作为短连接,socket.io作为长连接,下面分别介绍以上两种工具的压测方法。HTTP短连接压测http 可以使用ab工具来测试E聊SDK的最大连接数, 命令如下:ab -n 10000 -c 1000 -T 'application/json' -H 'authorization: client ${token}' -p post_files/send_message
2021-07-08 17:03:32
252
原创 仿微信即时通讯SDK-后端高并发负载均衡选型思路
仿微信即时通讯SDK-后端高并发负载均衡选型思路E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。E聊高并发原理E聊系统同时支持HTTP短连接与socket.io长连接,而socket.io底层实现是websocket。因此nginx(加模块)跟LVS(基于tcp/ip第四层)都可以实现对其负载管理。下面是不同客户端在线上限,采用不同的负载均衡架构1-5万客户端同时在线5-50万客户端同时在线50万以上客户端同时在线进入官网SDK版本:v1.02技术交流QQ群: 471
2021-07-08 17:02:29
180
原创 仿微信即时通讯SDK-解决socket.io无法接受消息的BUG
仿微信即时通讯SDK-解决socket.io无法接受消息的BUGE聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。1. 现象使用Web版登录,打开一个好友聊天框,发消息时可以正常发送出去。但好友发往该登录用户的消息无法在聊天框展示,但朋友列表左侧出现消息提示数量。2. 问题定位可以显示消息提示证明客户端的确收到了消息,但因为某些原因无法在客户端上展示。可以通过观察ws下行消息。如下图:客户端收到了服务发过来的ws消息,并返回了应答消息。因此,问题应该在下行消息处理,vue展示等方面
2021-07-08 17:00:43
307
原创 仿微信即时通讯SDK-socket.io长连接绑定登录
仿微信即时通讯SDK-socket.io长连接绑定登录E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。E聊使用socket.io作为长连接框架, socket.io连接后会自动创建一个会话, 其中sessionId标识每个会话1. 设计思路在E聊系统中,聊天业务上使用auid标识每个用户;socket.io连接后会自动创建一个会话, 其中sessionId标识每个会话需要将socket.io会话跟用户id绑定起来因此,可以在socket.io连接建立后,再向服务器发送登录认证
2021-07-08 16:59:04
310
原创 疫情下失业开发即时通讯软件(仿微信)-优化服务器端吞吐量
疫情下失业开发即时通讯软件(仿微信)-优化服务器端吞吐量E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。影响因素服务器吞吐量跟很多因素有关,下面是影响因素:后台框架: 比如使用java的netty框架就比php的http框架要好,前者是静态语言,多线程优化好算法水平: 高级工程师比低级工程师写的代码,复杂度更小,运行时间端存储中间件IO: NoSql的存储普遍比sql性的要高,高出一个数量级左右因此可以针对上述三点进行优化。E聊专业版使用springboot+基于netty的s
2021-07-08 16:57:08
182
原创 E聊SDK-简介(8): 从源码编译微信小程序项目
1.说明:教程属于官方E聊SDK-简介(8)进入官网进入管理台SDK版本:v1.02技术交流QQ群: 4716889372.小程序客户端简介:E聊SDK提供了一个基本的微信小程序客户端Demo源码,通过编译该客户端,可以接入E聊服务器,实现单聊/群聊等功能。移动客户端使用JavaScript 技术开发,适配了微信小程序平台。3.操作步骤:3.1 下载echatim-client-ts-core v1.02 源码, 编译出核心SDKE聊的微信小程序客户端依赖客户端核心SDK源码, 放置在S
2020-06-28 12:19:32
344
2
原创 E聊SDK-简介(7): API文档
1.说明:教程属于官方E聊SDK-简介(7)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.API文档说明:为方便开发者更好地理解E聊SDK以及更快地在此基础上进行二次开发,E聊SDK提供了所用的基础API说明,在E聊SDK客户端核心代码EChatIMApis.ts 文件中,罗列了整个客户端使用到的请求API, 详细如下:public static login: ApiCall<UserLoginForm, string> = new Socket
2020-06-22 21:06:59
260
原创 即时通讯(im)框架/系统开发思考(1)-通讯协议选型
1.前言:近来笔者接到公司的一个IM开发需要,要在原来的Web业务系统、移动端系统上加入一个即时聊天的功能,具有就是能聊天就行。相信各位也会接到需要开发IM的系统的任务,那么,开发一个im系统应选用哪种通讯协议?2.思考-即时聊天选用的通讯协议选哪种:XMPP(可扩展消息与存在协议): 是一个成熟开源的即时聊天协议, 基于XMPP的开源技术有openfire(后台端), spark(客户端)优势: 比较成熟的聊天协议,已在XMPP协议内支持单聊, 群聊, 加好友等功能.满足基本的需要.缺点: 基于
2020-06-14 12:12:06
681
原创 E聊SDK在TypeScript下的条件编译(使用js-conditional-compile-loader插件)
条件编译: 用同一套代码和同样的编译构建过程,根据设置的条件,选择性地编译指定的代码,从而输出不同程序的过程1.背景:E聊SDK需要使用一套TypeScript开发的客户端核心代码实现了跨平台支持(如Web, ReactNative, 小程序等)。2.分析:平台无关部分: 客户端SDK里有大部分业务逻辑是相同的,比如连接通道的建立,用户认证,文件上传等业务逻辑,这部分可称之为平台无关部分。平台相关部分: 比如http网络请求,在Web下使用的是isomorphic-fetch依赖, 而在React
2020-06-14 12:08:49
1435
4
原创 微信小程序的socket.io即时通讯开发(基于E聊SDK)
1.背景:由于微信小程序需要开发轻量,跨平台,开发时间短等特点,许多公司将小程序作为了业务展示的第一个APP。E聊客户端核心SDK 通讯部分已适配了微信小程序平台,下面分享一下适配过程中的思路与方法。2.分析:微信小程序接入要求: 微信小程序主要支持https 与 wss 两种通讯方式,前者用于api 单次请求,后者用于长连接。上线前,必须在小程序后台配置页 配置服务器域名地址(要求备案,不能是IP地址)才能请求后端服务器,否则请求被拦截。E聊通讯方式: E聊同时使用了http连接和socket.i
2020-06-14 12:05:21
3682
原创 全开源即时通讯(IM)系统-仿微信
1.目标:E聊SDK目标是打造一个免费开源,接入简单,适应多平台的即时通信SDK,为广大开发者提供便利。2.简介:E聊SDK是一套适用于PC端, 移动端的即时通讯解决方案,源代码开放。E聊整合了即时通讯的基础能力,使用E聊,您可以让您的应用快速接入即时聊天的功能。E聊现已适配PC Web, 移动Web, Android, iOS 等平台。3.系统架构:3.1 各模块介绍E聊服务器: 提供了基础的消息转发功能,用户管理、群组管理等功能;E聊管理台: 向E聊服务器申请接入SDK 所需要的App
2020-06-08 20:25:32
12833
原创 E聊SDK-简介(6): 从源码编译即时通信后端项目
1.说明:教程属于官方E聊SDK-简介(6)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.移动后台端简介:E聊SDK提供了一个基础的后端社区版源码,通过编译/修改该后端源码,可以实现更深度的业务定制,比如文件上传/下载、用户在线/离线监听、API权限功能、集群功能等。后端项目使用了springboot+mybatis 进行开发,使用maven 进行项目管理。以下介绍如何从源码编译后端项目。3.操作步骤:3.1 下载broker Release v1.01
2020-06-07 16:16:34
274
2
原创 E聊SDK-简介(5): 从源码编译android客户端,ios客户端,移动网页客户端
1.说明:教程属于官方E聊SDK-简介(5)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.移动客户端简介:E聊SDK提供了一个基本的移动客户端Demo源码,通过编译该客户端,可以接入E聊服务器,实现单聊/群聊等功能。移动客户端使用ReactNative 技术开发,适配了Android, ios, 移动网页等三个平台,实现使用一套代码适配三个平台,大大降低了代码开发量。WEB客户端源码包含了两部分,一部分是核心SDK(使用TypeScript 开发),一部分是演
2020-06-07 12:09:19
303
原创 E聊SDK-简介(4): 从源码编译E聊Web客户端
1.说明:教程属于官方E聊SDK-简介(4)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.Web客户端简介:E聊SDK提供了一个基本的Web版客户端Demo源码,通过编译该客户端,可以接入E聊服务器,实现单聊/群聊等功能。WEB客户端源码包含了两部分,一部分是核心SDK(使用TypeScript 开发),一部分是演示Demo(使用JavaScript + BootstrapVue 2.9.0 开发)。以下介绍如何从源码编译Web客户端。3.操作步骤:3.1
2020-05-31 19:11:33
957
1
原创 E聊SDK-简介(3): 管理平台使用
1.说明:教程属于官方E聊SDK-简介(3)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 471688937术语:E聊服务器: 接入E聊客户端的后台服务器E聊管理台: 管理E聊APP的管理台应用服务器: 也叫业务服务器,跑自己实际业务的后台2.管理台简介:E聊SDK(以下简称E聊)使用App Key 与App Secret 接入到E聊服务器, 而App Key, App Secret 可以在E聊管理台上创建APP时创建。此外,管理台可以管理聊天用户的基本信息(创建E聊用户、
2020-05-30 12:17:44
2862
原创 E聊SDK-简介(2): 平台支持与功能明细
1.说明:教程属于官方E聊SDK-简介(2)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.平台支持情况:平台SDK源码备注Web兼容Chrome,Firefox, Safari 等开源开发完成ReactNative适配Android4.1及其以上,适配iOS9.0 及其以上,适配移动端浏览器开源开发完成Android原生开发,适配Android4.4及其以上暂无开发计划中Java计划适配64位PC系
2020-05-30 12:15:44
558
原创 E聊SDK-简介(1): 介绍
1.说明:教程属于官方E聊SDK-简介(1)进入官网进入管理台SDK版本:v1.01技术交流QQ群: 4716889372.简介:E聊SDK是一套适用于PC端, 移动端的即时通讯解决方案,源代码开放。E聊整合了即时通讯的基础能力,使用E聊,您可以让您的应用快速接入即时聊天的功能。E聊现已适配PC Web, 移动Web, Android, iOS 等平台。3.系统架构:3.1 各模块介绍E聊服务器: 提供了基础的消息转发功能,用户管理、群组管理等功能;E聊管理台: 向E聊服务器申请接入
2020-05-30 12:13:25
2484
2
E聊即时聊天sdk后端v1.01.zip
2020-06-07
dzqmeiji-echatim-client-rn-v1.01.zip
2020-06-07
dzqmeiji-echatim-client-web-v1.01.zip
2020-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人