今天看到一关于Android推送实现的文章,想记录下来
因为是一片关于一个服务推广的广告文章,所以地址就不给出来了。
摘“为了解决数据同步的问题,在手机平台上,常用的方法有2种。一种是定时去服务器上查询数据,也叫Polling,还有一种手机跟服务器之间维护一个 TCP 长连接,当服务器有数据时,实时推送到客户端,也就是我们说的 Push。”
在做过的项目中需要使用一个远程的链接,链接进入局域网中进行远程的管理。实现的功能很简单,所以想都没想就使用UDP实现了,但一实验发现问题的所在。。。UDP在NAT的环境中通信会有问题的。
忙乎了一个晚上才把UDP的换成TCP的链接,这样就OK了
这样做是因为TCP链接可以穿越NAT,与外部建立一个通信通道进行数据传输,也就是所谓的TCP长链接。
之所以TCP能有长链接而UDP没有首先是因为TCP是面向链接的,而UDP则不是,其实还有一个重要的角色发挥着重要的作用,那就是NAT。
因为TCP面向链接的特性使得NAT会为TCP的链接保持一个地址端口缓存,TCP的链接可以通过这个缓冲顺利的与外网通信而不受NAT的阻拦。
UDP是非面向链接的,所以NAT不会为UDP保持一个地址端口缓存,UDP出去容易,但再进来则就不可能了。
当然,一个TCP的链接不可能无限制的一直存在着,比如程序异常关闭链接,NAT缓存清理等等,这些都会导致TCP链接的断开,这些就需要一个轮询的机制,保证链接一直存在着,达到所谓的“TCP长链接”
其实这也算是一种NAT穿越技术了。
相关推荐
微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长连接(学习版)微信小程序源码 TCP,IP长...
微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长连接 (源码)微信小程序 TCP,IP长...
通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包,再...
TCP长连接与短连接示意图
java建立TCP长链接,再加上心跳机制,下载后可以直接运行,包括server和client
tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接tcp关闭连接...
第一步:身份认证左边是终端request,右侧是server端的responseMessage_id:表示请求的唯一idDevice_id:表示终端设备的idM
android 客户端 后台启动服务 保持 TCP 长连接例子。
C++ 实现 TCP长,短连接简单Demo,基于VS2017
winform 和wpf连接PLC设备使用ModbusTCP的示例。
适合初学QT里tcp长连接,内容不懂有注释,可在网页搜索qT代码,非常简洁,没复杂功能。
小程序源码 TCP,IP长连接 (代码+截图)小程序源码 TCP,IP长连接 (代码+截图)小程序源码 TCP,IP长连接 (代码+截图)小程序源码 TCP,IP长连接 (代码+截图)小程序源码 TCP,IP长连接 (代码+截图)小程序源码 TCP,IP长连接 ...
labview tcp 检查连接状态.png labview tcp 检查连接状态.png
tcp长连接,与服务器端保持长连接,发送心跳包。保持连接。
TCP连接数修改TCP连接数修改TCP连接数修改TCP连接数修改
微信小程序——TCP,IP长连接(截图+源码).zip 微信小程序——TCP,IP长连接(截图+源码).zip 微信小程序——TCP,IP长连接(截图+源码).zip 微信小程序——TCP,IP长连接(截图+源码).zip 微信小程序——TCP,IP长...
手写简化版tcp长链接的socket实现,主要功能有断开重连,以及收发读取解码解析,适用于需要用到长链接的原生开发。
c# tcp 基于完成端口开发 高性能 高并发 吞吐量大 包含服务端 客户端完整代码 支持最大连接数支持65535个长连接
线程、线程池、TCP协议长连接短连接的基本入门知识 适合入门