首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

融云技术分享:融云安端IM产品的网络链路保活技术实践

客户端每隔一段时间给服务器发送一个很小的数据包,根据能否收到服务器的响应来判断链路的可用性。...复合连接机制的基本步骤如下: 1)客户端连接导航服务器,导航服务器会下发应用对应的配置信息,其中包括连接服务器的地址列表; 2)客户端从第一个服务器地址尝试连接,并启动超时机制,如果连接失败或没有及时收到服务响应...▲ 复合连接机制原理 重机制:则是指业务层在检测到与服务器的连接断开后,尝试 N 次重新连接服务器,首次断开 1 秒后会重新连接,如果仍然连接不成功,会在 2 秒后(重间隔时间为上次重间隔时间乘...2 )尝试重新连接服务器,以此类推当尝试重 N 次后,仍然连不上服务器将不再尝试重新连接,只有在网络情况发生变化或重新打开应用时才会再次尝试重。...那在国内系统上如何保障推送到达呢?

2.9K40
您找到你想要的搜索结果了吗?
是的
没有找到

Java开发中Websocket的技术选型参考

WebSocket 使得客户端服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,当然也支持客户端发送数据到服务端。...缺点:需要对 SockJS 和 STOMP 进行学习,断线重、心跳检测、二进制支持不好。...2.3 Socket.IO Socket.IO 是一个基于 Node.js 的实时应用程序框架,在即时通讯、通知与消息推送,实时分析等场景中有较为广泛的应用,但是它提供基于Netty的服务端实现以及客户端实现...除了Websocket的常用场景外,我们可以通过该组件实现和IOS的消息推送。 优点:性能良好,支持广播、组播,断线重、心跳检测、二进制。支持和 IOS 平台。社区活跃。...附:性能基准测试 以下是国外某论文在 2020 年对原生Websocket、SockJS、Socket.IO进行的性能测试的一些关键指标。 ? 随着客户端的增多创建连接的耗时 ?

2.7K21

Appium运行原理与机制

接口) appium-IOS 和都差不多,有细小差别,分PC和手机两块讲: 1、首先是PC端, 测试人员执行测试脚本(java,python等脚本)通过appium client 转换为json格式传递给...通信(一个封装了TCP/IP协议的接口) 4、手机端通过该端口传输的命令执行APP, bootstrap里面封装了和苹果的自动化测试框架UIautomator(低版本的是instrumentation...3.webdriver是基于http协议的,第一接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息。...1.bootstrap的作用 bootstrap是Appium运行在测试机的一个UIAutomator测试脚本,该脚本的唯一功能就是在目标机器开启一个socket服务器来把一个session中Appium...(3)Appium客户端。主要是指实现了Appium功能的webdriver协议的客户端Library,他负责与Appium服务器建立连接,并将测试脚本的指令发送给服务端。

2.5K40

ESP8266_13服务器端模式下的TCP通信

上一节说的是TCP客户端模式下的通信,这一节说一下服务器端模式下的通信,总体来说,代码是差不多的,只是关键地方有些调整。...跨度有点大,我倒是做过一些工作,研究过易studio,感兴趣的可以试着从这两方便入手试试,或者有其它的,大家也可以留言。 好,继续。...这里保留上一节引用的“TCP编程的服务器端一般步骤”,作为参考: TCP编程的服务器端一般步骤是: 1、创建一个socket,用函数socket(); 2、设置socket属性,用函数setsockopt...(); * 可选 3、绑定IP地址、端口等信息到socket上,用函数bind(); 4、开启监听,用函数listen(); 5、接收客户端上来的连接,用函数accept(); 6、收发数据,用函数send...3 确定TCP服务器端的参数,并初始化 我是谁——ESP8266,连接家里路由成功之后,会自动获得一个IP,这是服务器端IP 谁要和我连接——因为是在我电脑上使用网络调试助手模拟TCP客户端端,所以客户端端的

91820

扫码登录背后的思考

PC客户端、 服务server 、 用户之间的信息交互和扫描登录的实现方式。...PC客户端、 服务server 、 用户之间的信息交互 这个过程中 PC前端页面呈现 二维码呈现 4种状态 ,未扫描、已扫描、已确认、过期。...:     4.1:进入官网:https://www.goeasy.io  ;创建免费应用 轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 ...长轮询:客户端服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。 ...实例:Gmail聊天 Flash Socket:在页面中内嵌入一个使用了Socket类的 Flash 程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信

2.5K10

websocket消息推送设计

因为HTTP协议是一种无状态的、基于TCP的请求/响应模式的协议,请求只能由客户端发起然后服务端进行响应。 这种方式是实现最简单的。缺点是大部分请求是无效的,浪费了带宽和服务器资源。...该方式是目前服务端推送技术的主流方案,优点是双向通信,服务器客户端之间交换的数据包头信息很小,缺点就是编码相对来说会多点,服务端处理更复杂。 最终决定采用 webSocket 方案来实现。...3.4.3 netty Socket.IO [http://Socket.IO][http_Socket.IO] 基于 Node.js 的实时应用程序框架。...而netty-socketio是一个开源的[http://Socket.io][http_Socket.io]服务器端的一个java的实现,它基于Netty框架,同时支持Websocket和长轮询。...除了Websocket的常用场景外,可以通过该组件实现和IOS的消息推送。 优点:性能良好,支持广播、组播,断线重、心跳检测、二进制。支持和 IOS 平台。

4.4K10

直播系统开发中关于开发环境你了解多少?

一、iOS及Android开发环境 1、开发:在直播系统开发中,的开发环境是在AndroidStudio软件上进行开发,AndroidStudio软件在Windows和Mac系统上都可以安装使用...,而的开发语言是使用Java进行开发【这种开发方式称为原生开发】,当然Java也并不是唯一一种可以开发APP的语言,其他的我们就不再过多了解。...u=1898234766,364912119&fm=26&gp=0.jpg 三、FTP协议工具 1、那么技术人员又是如何连接到服务器呢?技术人员一般会使用FTP工具,FTP又是什么呢?...其实这就是一种协议,大家可以简单理解为支持FTP协议的工具,连接到服务器,然后直接修改服务器上的文件。 2、FTP工具一般是进行在线编辑文件类的,那如何我们远程为服务器安装一个软件呢?...技术人员会使用类似Xshell这种的软件链接到服务器,然后在命令面板上,通过输入代码的方式为服务器安装软件或工具,代码其实也并没有想得那么复杂,在直播系统开发中都是有固定的格式和规则,这里就不再细说。

55620

微信小程序自动化方案之准备

Appium的C/S模式 Appium是基于Webdriver协议添加对移动设备自动化api扩展而成的,所以具有和Webdriver一样的特性,比如多语言支持 Webdriver是基于http协议的,第一接会建立一个...工具 BootStrap介绍 Bootstrap作用: Bootstrap是Appium运行在目标测试机器上的一个UiAutomator测试脚本,该脚本的唯一一个所做的事情是在目标机器开启一个socket...服务器来把一个session中Appium从PC端过来的命令发送给UiAutomator来执行处理。...Appium服务器端,用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。...服务,暴露的就是4724的端口;相对于Socket服务来说,Appium服务端又是一个客户端; 服务端的4724可以修改,设备上的不可以;服务端收到脚本传递过来的命令之后,通过电脑上的4724端口,向设备上的

1.4K30

socktIo的客户端与nodejs服务器端代码示例

,额外的查询参数将被发送(随后可以到服务器端查找socket.handshake.query对象) * parser (解析器):默认的为一个Parser实例 * 断开连接后等待首次尝试重的时间最大为...已连接啦' ); console.log( socket.id ); // 标识socket session独一无二的符号,在客户端接到服务端被设置 }); // 监听服务器端触发 serviceEventA...( function(){ // 客户端主动向服务器端发送数据 socket.emit( "clientEventA", "i am clientA" ) socket.emit...('成功重新连接到服务器'); console.log( '重次数:' + attempt ); }); socket.on('reconnect_error', function(error...^2.2.0", } 服务器端代码,express + socket.io: // 客户端js代码在 private_materials\webapck4\webpack4~multHtml var

7K20

玩转通讯录备份(JNI实战)

需求分析 在2年前就学过开发,那时候开发还是很火,但是感觉现在不怎么热潮了,这学期刚好有门c++课,实现通讯录备份,网络通信使用socket通信,服务器端用c++,客户端用c++,界面用...♢ ♢ UML设计 1.总体设计 android数据读取 数据TF备份 数据通过JNI传输 C++实现客户端编写接受jin传送数据及发送数据 C++实现服务器接受客户端及数据存储 拨打电话功能 2....数据协议传输 客户端服务器端协议传输!...♢ ♢ 运行展示 1.备份远程 左图是服务器,备份到远端sqlite数据库,右图是运行展示! 2.备份本地 备份到TF卡!...2.存储TF卡 3.客户端 客户端通过jni发送数据 4.服务器服务器端接收数据 ♢ ♢ 让我们打开手机, 一起踏上手机通讯录备份吧! - - - End - - -

76320

Android测试方法总结

由于工作的需要,最近要对Android客户端软件进行测试,便学习了一下Android客户端测试的方法,现在与大家分享一下。...1.在Android客户端测试方面可以分为如下几个大的类别: 1、黑盒测试工具 1)包括本身自带的monkey,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中...所以,你可以基于JUNIT框架进行的白盒测试代码开发 3、的测试方法其实与web测试方法大多类似,只是多了一些特殊的测试场景,例如-遍历测试、故事驱动、适配测试、电量测试、弱网测试、流量测试等...如网,发送信息,打开摄像头等操作。 2.安装与卸载安全性。如安装是否正确,卸载是否干净等。 3.数据安全性。 如密码不会以明文形式显示,密码是否容易被解密等。 4.通话安全性处理。...如软件在运行过程中,接到电话,是否能够将软件运行状态保存,并优先处理电话。 5.UI测试。软件运行效果图是否与设计效果图一致。 6.功能测试。按照设计思路,运行软件,观察各个功能是否能够正确执行。

74620

监视我的手机:数据都去哪儿了?

监控方案 实验设备 日常使用的手机 x1 国内某云服务器 x1 代理方案 手机的数据都是与不同的服务器进行着连接,如何获取所有的连接?...于是在 1 台云服务器上搭建了个代理服务,手机客户端设置为全局代理连接 V** 服务器,就可以在服务器端获取所有的数据请求。...在手机端安装 ss 或者酸酸乳客户端,配置代理服务器地址、端口、密码与加密方式,代理模式设置为全局代理。...主要的互联网公司 从上图可以看出,俺的手机(安装了谷歌服务),在国内的网络环境,请求次数最多还是 Google。 然后就是日常使用的微信和 QQ 了。...电信运营商 服务器端口统计 其他 在一加手机的网络请求中,发现了一些发往 oppo 服务器的请求,看来不光硬件由 oppo 代工,软件也是。

1.2K50

WebRTC 教程(1)

WebRTC 是免费的吗 WebRTC 是完全开源免费的,其使用 RTP 协议来传输音视频,并支持 Chrome、Mozilla、Opera、Microsoft Edge、浏览器等浏览器。...它的表现远比普通的服务-客户端模式应用要好,尤其是在耗时方面。 不需要额外的服务器转发,可以直接在用户之间端到端连接。...HTTP 主要用于获取网页内容,文字或图片等,是一种客户服务类型协议,其中浏览器是客户端,而网页服务器是服务端。...但是 HTTP 是一个单向的信道,而 WebSocket 是双向的,意味着服务器客户端之间的连接可以一直保持到两者主动断开。...信令服务器只是帮助 WebRTC 交换元数据来建立连接,并不真的对 WebRTC 过程影响。 信令服务器可以由任意的服务器技术搭建,如 WebSocket、Socket.io、SIP 等。

2K20

通过蓝牙实现手机远程控制

通过蓝牙实现手机远程控制 背景 本文将介绍如何通过蓝牙连接实现对手机的远程控制。...我们将探讨在应用程序中设置蓝牙服务,以及如何使用Python编写一个蓝牙客户端,向手机发送命令,实现点击、滑动和返回等操作。...首先,确保你的手机已启用开发者选项,并启用USB调试模式。其次,你需要安装Android Studio,用于编写和运行应用程序。...第二部分:应用程序开发 我们将创建一个简单的应用程序,该应用程序通过蓝牙接收命令并执行相应的操作。...第三部分:Python蓝牙客户端 现在,我们将使用Python编写一个蓝牙客户端,用于向应用程序发送命令。

75840

开发过程中快速抓包并解析

这几天小编在工作中遇到了一个灵异事件,客户端使用的是原生系统,服务端使用的是java。需求就是客户端在照相的时候可以实时上传照片。后台接收并保存,并且可以在平台上显示。...有2个平台,192.168.31.87平台是测试环境,192.168.31.239是演示环境,测试环境,演示环境,还有客户端代码都是一样的,mq,redis,nginx,数据库都是一样的。...image.png 在客户端上传的时候,正常和不正常的log分别是 正常: response-->Response{protocol=http/1.1, code=200, message=OK,...22d351aa68-bace-438f-8d08-89ff598d4e04%22,%22stime%22:%221534934759902%22,%22etime%22:%221534934760000%22}} 客户端部分代码...image.png 然后客户端调用服务端这个接口都没进来,首先我判断配置文件是否有对文件大小进行过滤,然后看了filter也没什么。百思不得奇解。于是做了很多操作。

1K40

TCP 看我就够了

Number为y的报文段(即SYN+ACK报文段)给客户端,此时服务器进入SYN_RECV状态; 3.客户端收到服务器的SYN+ACK报文段,确认ACK后,发送Acknowledgment Number...为y+1,SYN标志位为0,ACK标志位为1的报文段,发送完成后,客户端服务器端都进入ESTABLISHED状态,完成TCP三次握手,客户端服务器端成功地建立连接,可以开始传输数据了。...客户端收到后进入FIN_WAIT_2状态; 3.服务端完成数据传输后向客户端发送Sequence Number为y+1的FIN报文段,请求关闭连接,服务器进入LAST_ACK状态; 4.客户端收到服务端的...(至于为什么不走IM自定义消息就不在累述) * 我们的实现:我们使用Socket来完成的TCP链接 ,服务端是用MINA2搭建,IOS 使用CocoaAsyncSocket,也是用的MINA2...从而保证TCP的活性 中间出现过的问题 开始我们的TCP一直都很正常,但是在服务器集群之后就出现问题了,IOS怎么也接收不到服务器发送的消息,链接很正常就是收不到消息,但是却没有任何问题,当初这个问题困扰我们了很久

1.4K50

科普啦:内网穿透是怎么实现的

具体来说,内网穿透技术是在公网上架设一个服务器,然后在内网中安装客户端客户端通过与服务器建立连接,将内网服务的数据传输到服务器上,再由服务器将数据转发给公网用户。...由于IPV4资源的匮乏,内网穿透的用途开始变得越来越多,比较有代表性的是神互联、IBCS虚拟专线等。...其具体的实现还是比较复杂的,这里涉及到复杂的网络编程和并发要求,以下是极具代表性的神互联内网穿透展示图(以实际下载安装的版本为准),涉及到客户端与服务端的同步应答,通道缓冲区的处理和内存池的优化等,还需具备一定的应对网络攻击的能力...(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,...运行代码后,客户端接到本地8080端口将被转发到远程主机。转发是双向的,从远程主机接收的响应也将返回给客户端。按Ctrl + C可以停止端口转发。

1.6K32

详解如何将 Android 手机投屏在 Ubuntu 上

1 你知道如何将Android手机投屏到Linux系统吗?本文就以 Scrcpy 软件为例,来讲解一下如何将Android手机投屏到Ubuntu系统。...) 3 使用要求 设备系统版本需要在Android 5.0(API 21)或以上。...无线 Scrcpy 使用adb来与设备连接。同时,adb能够通过TCP/IP连接到设备: 将您的设备和电脑连接至同一Wi-Fi。...获取设备的IP地址(在设置-关于手机-状态信息)。 打开设备的网络adb功能adb tcpip 5555。 将您的设备与电脑断开连接。...SSH 连接 本地的 adb 可以远程连接到另一个 adb 服务器(假设两者的adb版本相同),来远程连接到设备: adb kill-server # 关闭本地5037端口上的adb服务器 ssh

3.3K10
领券