Android消息推送有短连接的pull和长连接的push,为什么没有短连接的push? 5C

Android消息推送方案有短连接的pull和长连接的push,为什么没有短连接的push?能做到这样子吗?这样不是更节省资源吗?

2个回答

有UDP的push,我以前就是做这个的,用短链做推送的核心是如何保持链接,因为移动网的端口在长时间不使用后会被回收。简历udp链接后持续保持发包,就可以保持端口不会被回收。如果楼主感觉这样会浪费流量资源,可以看一下socket的ttl设置。

短连接如http1.0是发送请求接收后任务完成之后就断开了,任务已经断开肯定是不能接收push推送的,长连接如http1.1的设置keep-alive tcp连接不会关闭,当然能push了.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
长连接与短连接
长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。  比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。 其实长连接是...
短连接和长连接
短连接:就是需要连接的时候 进行tcp的建立,然后使用完成就释放长连接:是一开始就建立tcp的建立 使用完不释放 后面要用的时候 不需要再次建立tcp连接 短连接比较适宜那种消息很少 就是很久都没消息的场景 长连接适宜消息比较频繁的那种场景 因为建立tcp连接 是有开销的,时间开销和占用内存 ...
长连接和短连接
短连接是在客户端和服务器端不断的进行建立连接 数据传输 关闭连接的操作 这中途会多次进行3次握手4次挥手的情况,这样将在tcp的建立和关闭操作上浪费时间和带宽长连接则用于操作频繁的,对用户体验有要求的情况,长连接是建立连接,保持数据传输,直到最后关闭连接,中间不会重复操作3次握手4次挥手,虽然比较消耗硬件资源,但响应快,体验好长连接短连接的优缺点长连接可以省去较多的TCP建立和关闭的操作,减少浪费...
HTTP长连接和短连接
HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。 如何理解HTTP协议是无状态的 HTTP协议是...
servlet 长连接与短连接的疑问
公司的服务器端使用的是resin做中间件,通过客户端每隔几秒发送请求来进行互动。rn这种就应该是短连接了吧?rnrn短连接需要频繁的建立与断开连接,是不是对服务器的资源浪费很大?rn如果换成长连接呢?长连接的缺点在哪里?
求救!长连接和短连接
如何在DELPHI中实现连接数据库的长连接和短连接?
tcp长连接和短连接
1、client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是client先发起close操作。这就是一个短连接。   一般的server不会回复完client后立即关闭连接的,当然不排除有特殊的情况。从上面的描述看,短连接一般只会在
TCP长连接、短连接
一、TCP连接: 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的。   三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户...
长连接、短连接和websocket
在TCP传输过程中,分为长连接和短连接。其中: 长连接是指当三次握手完成后,传输一次数据,但是不断开连接,可以一直进行数据传输。 HTTP1.1默认使用长连接。 短连接是指当三次握手完成后,传输一次数据,就四次挥手,断开连接;之后需要继续传输时,又要三次握手。 HTTP1.0默认使用短连接。 通过keep-alive的值可以设定是长连接还是短连接。 以PHP程序的生命周期为例: 短连
Mina长连接短连接实例
Mina长连接短连接实例包含Minaclient工程和MinaHost工程,另外还有几个文档,相信对理解这两个工程有很大的帮助
长连接和短连接的解释和说明
服务器与客户端交互的连接类型的一种分类和说明以及比较。
Socket 的长连接与短连接问题
要做一个用tcp协议通讯的服务端/客户程序,对方做客户端,我们做服务端,我要用BCB做,对方肯定不是用BCB做。对方提出用短连接方式,就是客户端需要传送数据的时候连接,传送完成后断开。rn想知道,客户端的短连接或长连接对服务器端的设计有什么不同影响?rn服务端应该注意什么问题?rn请不吝赐教,多多感谢。
什么是 长连接 和 短连接
什么是 长连接 和 短连接
超文本传输协议的短连接和长连接
1 短连接的操作步骤是: 建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接 2 长连接的操作步骤是: 建立连接——数据传输...(保持连接)...数据传输——关闭连接 ...
java socket 长连接 短连接
java   socket   长连接  短连接 长连接 是一旦一个客户端登陆上服务器,其与服务器之间的连接就不关闭,不管他们之间进行了多少次交易,直到客户端退出登陆或网络出现故障。这种技术在联机交易系统实现有利于提高效率。 短连接是客户端每发一个请求就与服务器建立一个连接,交易完成后关闭连接,这种技术实现较长连接 简单。 长:connect连上后不断开, 进行N次收发操作. 短...
Socket与http的长连接和短连接
1.socket长连接与短连接 长连接:在服务端的socket的超时时间内如果没有收到客户端的请求包,那么服务端就会关闭此次连接,因此为了保持长连接的话,客户端需要在服务端的超时时间内发送心跳信息以保持跟服务端的连接,防止服务端关闭连接。   2.http长连接与短连接 众所周知http1.1(http1.0不是标准,依服务器而定)默认是支持长连接的,长连接能够保证服务器和客户端的sock
标记
mark 
长连接与短连接 (keepalive状态)
长连接与短连接短连接:在一次完整的消息交互(发请求-收响应)之后,立刻断开连接(有一方发送FIN消息)的情况都称为短连接。长连接:在TCP层握手成功后,不立即断开连接,并在此连接的基础上进行多次消息(包括心跳)交互,直至连接的任意一方(客户端或服务端)主动断开连接,此过程称为一次完整的长连接。即:短连接一般只会在client/server间传递一次读写操作。长连接在完成一次读写之后,它们之间的连接...
TCP长连接与短连接的区别
TCP长连接与短连接的区别 TCP/IP,http,socket,长连接,短连接——小结 HTTP的长连接和短连接 http响应头首部Content-Length  HTTP协议Keep-Alive模式详解和HTTP头字段总结 HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT...
浅谈防火墙长连接与短连接
浅谈防火墙长连接与短连接 引言:在银行项目日常投产中,开发人员会发现系统上线后应用访问数据库连接中断的问题,这很有可能是因为应用程序与数据库之间的连接使用了长连接。当应用程序与数据库建立的同一个TCP会话的两个连续报文到达防火墙的时间间隔大于防火墙上默认TCP会话的保持时间间隔,会话超时后防火墙将从会话表中删除此TCP会话信息。所以当后续该TCP会话中的第二个报文到达防火墙后,防火墙发现会话表中无...
长连接,短连接的介绍
长连接短连接介绍 1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。 2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.
什么是长连接 | 短连接?
某些朋友对长、短连接的概念存在误解,下面我们尝试厘清这2个概念。1)一般情况下,Client成功连接到Server后,会发送1个或几个请求,收到Server端1个或几个应答;然后!就会非常识趣地马上调用close()关闭连接了。这就叫短连接。2)某些情况下,如果Client有很多数据要传给Server或者从Server获取,就不甘心于只是发送几个请求,在相当长(几秒,几分钟,甚至几个小时)的时间内...
[网络]------长连接和短连接
本文重点介绍: 长连接和短连接的定义,区别,优缺点以及使用场景 1.长连接和短连接 2.长连接短连接的区别 3.各自优缺点 4.使用场景
请教:同步异步,长连接短连接
同步,异步rn长连接,短连接rn都是指什么意思啊?
长连接和短连接的问题
什么是长连接和短连接?rn所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。rn短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对消息的发送。rnrn我的socket是长连接还是短连接是由服务端决定的还是有客户端决定的?是否有一个函数来创建一个长连接或者短连接?(我的意思是有一个参数,表示长连接或者短连接 比如是否有类似的函数createLink(int linkType) 调用的时候linkType为1表示长连接,为0表示短连接)rnrn还有听说长连接要发送心跳消息,是怎么发送的?有库函数可以自动实现这个吗?rn还有人说不用发送心跳消息,tcp会自动发送以保证是否连接,只要网络不断就可以了。到底要不要自己发送心跳消息啊,如果要的话,怎么发送阿rnrn最好有例子,谢谢了rn
socket长连接和socket短连接
短连接 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。 长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。 http的长连接
TCP长连接和短连接原理
TCP长连接TCP长连接是说服务端和客户端两边通信的时候,客户端和服务端两边的端口号是固定的,一旦通道开启,就一直处于连接状态,不管客户端和服务端之间有没有数据进行发送,通道都是开启状态。 TCP短连接TCP短连接也是服务端和客户端之间通信的,不过跟长连接唯一不同的就是发消息的端口不固定,而且有个超时时间,比如客户端开启了一个端口向服务端发数据,当数据发完了,TCP通道也就关闭了。
HTTP 长连接和短连接
参考:http://blog.jobbole.com/93960/
长连接vs短连接
Socket长连接方式指若干客户端和服务器建立socket连接之后不断开,而利用建立好的连接反复进行数据通讯。这种方式不需要在数据通讯时建立连接,避免了连接创建的代价,运行效率较高。 Socket短连接方式指客户端和服务器在完成请求和应答动作后即断开socket连接的操作方式。...
HTTP长连接短连接
   我们在介绍HTTP各版本区别的时候说过,HTTP1.1和1.0的区别就是1.1默认情况就是长链接的而在1.0版本里就需要通过头部Connection: Keep-alive来说明链接情况,如果不说明可能就是短连接了。    那到底什么是长链接什么是短连接,这两个又有什么区别呢?    HTTP链接是在应用层的协议,他是建立在传输层协议TCP协议和网络层协议IP协议上,IP协议主要解决了网...
tcp长连接与短连接
1. >短连接: 短连接实现流程: 1. 建立连接 2. 客户端向发送消息 3. 服务端响应回传消息给客户端 4. 完成一次发送与接收(读、写)服务 5. 关闭连接 2.短连接的特点: ...
服务器通讯——短连接和长连接
解释1 所谓长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差,    所谓短连接指建立SOCKET连接后发送后接收完数据后马上断开连接,一般银行都使用短连接   解释2 长连接就是指在基于tcp的通讯中,一直保持连接,不管当前是否发送或者接收数据。    而短连接就是只有在有数据传输的时候才进行连接,客户-服务器通信/传输数据完毕就关闭连接。
TCP/IP长连接和短连接
TCP/IP通信程序设计的丰富多样性 刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程 序,据此一些人可能会认为TCP/IP编程很简单。其实不然, TCP/IP编程具有较为丰富的内容。其编程的丰富性主要体现在通信方式和报文格式的多样性上...
HTTP 长连接 与 短连接
最近看了不少博客了解http协议,记录一下长连接与短连接。 HTTP的长连接和短连接本质上是TCP长连接和短连接。 短连接:每次请求新建立一个tcp连接,请求结果返回后立马关闭连接,客户端和服务端都可关闭连接。每次请求都经过“创建tcp连接->请求资源->响应资源->释放连接”这样的过程 长连接:只建立一次tcp连接,多次资源请求都复用该连接,完成后关闭。经过心跳机制保持...
长连接、短连接区别
目录 短链接 优点: 缺点: 使用场景: 长连接 优点: 缺点: 使用场景: 如何保持长连接: 易混淆概念:http的keep-alive和Tcp的keepalive区别 参考: 短链接 当通讯双方有数据交互时,会主动建立一个TCP连接,数据发送完成后断开此TCP连接。(Http1.0默认保持短链接) 例如Http请求:Http是无状态的(不代表不能保持TCP长连接),...
TCP长连接和短连接
TCP长连接和短连接是什么 TCP短连接就是在三次握手和四次挥手之间客户端和服务器端只进行一次读写操作,一次读写完成双方都可以发起close请求,一般都是客户端先发起close操作。 TCP长连接就是在三次握手和四次挥手之间客户端和服务器端进行多次读写操作,长时间操作之后client发起close请求。 TCP长连接和短连接的应用场景 ⻓连接多用于操作频繁,点对点的通讯,而且连接数不能太多...
java socket 长连接 短连接
长连接是一旦一个客户端登陆上服务器,其与服务器之间的连接就不关闭,不管他们之间进行了多少次交易,直到客户端退出登陆或网络出现故障。这种技术在联机交易系统实现有利于提高效率。 短连接是客户端每发一个请求就与服务器建立一个连接,交易完成后关闭连接,这种技术实现较长连接简单,每次都connect,完成任务后立即断开,下次重连。 长:connect连上后不断开, 进行N次收发操作. ...
这是SOCKET 的短连接?长连接?
直接上代码,都在注释了,大家看看.我读代码的思路是不是对的.有些带问号的,麻烦大婶们帮回下.rn[code=c]rnrnrn//一个接受和发送的线程.rnDWORD WINAPI FaAndShou(LPVOID lpParameter)rnrn Linjie.Lock();//上锁,这个不知道有什么用处,不过竟然能上锁说明,这rn //个线程如果被建立了,就不允许其他线程调用了.就可以专心致志的为这个rn //连接进来的用户服务吗? 问题1rn int err;rn char fanHuiDeXinXi[32] = "";//要发送回去的rn char jieShouDaoDeXinXi[32] = "";//接收到的rn SOCKET ClientSocket = (SOCKET)(LPVOID)lpParameter;rnrn//循环连接接收和发送了.根据上锁和这里的死循环 从这2点来看,这个线程是不是可以rn//定位为 网路所说的,"长连接"? 问题2rnwhile(1)rn err = SOCKET_ERROR;rn //给jieShouDaoDeXinXi 最后添加个\0,免得给烫烫烫到啊,,,会痛死的.顺便rn //把上次接收到的信息清0.rn for (int i = 0; (int)strlen(jieShouDaoDeXinXi); i++)rn rn jieShouDaoDeXinXi[i] = '\0';rn rnrn //如果err不等于-1,就继续循环等待接收.rn //这里的SOCKET_ERRO,就不了解了,它什么时候会出现呢.?用户断开?rn //在那断?怎么来判断? 问题3rn while (err == SOCKET_ERROR)rn rn //接收到的信息赋值给"jieShouDaoDeXinXi",32长度rn //如果接收不到,或者用户断开连接了.这里的返回就是等rn // 于 SOCKET_ERROR(它的返回就是-1)了吗? 问题4rn err = recv(ClientSocket, jieShouDaoDeXinXi, 32, 0);rn //----------------------------rn //接收到信息(发来的只有1和2和3)rn if ((int)(jieShouDaoDeXinXi[0] - '0') == 1)rn rn //假设接收到的是1,就给他返回什么什么的...在这里如果数rn //据比较多的话.是否在开多个线程,或者执行另一个CPP里的函rn //数来操作,等待函数返回的信息 在赋值给 fanHuiDeXinXi 在send 回去? 问题5rn send(ClientSocket, fanHuiDeXinXi, strlen(fanHuiDeXinXi), 0);rn rn //----------------------------rn //while (err == SOCKET_ERROR)rn //如果我把 //---------------------------- 里的代码放到while (err == SOCKET_ERROR)rn // 循环体里,就真的成为一个长连接了?rn //如果我把while (err == SOCKET_ERROR) 去掉就是短连接了? 问题6rn Linjie.Unlock();//解锁rn return 0;rn//while(1)rnrnrnint main()rnrn //一大堆 SOCKET 版本2.2的代码rn //这里listen()的第二个参数,不了解, 20,就是接收20个用户连接.? 问题7rn if(listen(m_socket,20)==SOCKET_ERROR) rnrn SOCKET AcceptSocket; rn while(1) //又来一个死循环.作用是不断的等待用户吗?问题8rn rn AcceptSocket=SOCKET_ERROR; rn while(AcceptSocket==SOCKET_ERROR) rn rn //这里不解,我见有些教程在第二个 第三个参数都给传参.有rn //些不传,这里的区别是怎么个回事? 问题9rn //AcceptSocket = accept(sock, (struct sockaddr*)&cli_addr, &len);rn AcceptSocket=accept(m_socket,NULL,NULL); rn rn DWORD dwThreadId; rn HANDLE hThread; rn rn hThread=CreateThread(NULL,NULL, FaAndShou, rn (LPVOID)AcceptSocket,0,&dwThreadId); rn if(hThread==NULL) rn rn printf("CreatThread AnswerThread() failed.\n"); rn rn else rn rn printf("CreateThread OK.\n"); rn rn rnrn//在最后.我也见过有些教程使用关闭和清理.如果使用长连接.以下2个函数可以不使用吗? 问题10rn //关闭rn closesocket(sock);rn //释放rn WSACleanup();rnrnrnrn[/code]rnrn不好意思,看到这里,让大婶们辛苦了.rn我也是无奈.新手,之所以能问出以上的问题,也是很无奈.rn在多线程来说.不知道如何来做测试.rn以上写PHP的时候,直接在网页上一刷新就知道问题.C++还真的无奈.rn麻烦大家帮忙看看了.rnrn以上的代码是准备用来做一个棋牌游戏的服务端的.
http协议_长连接和短连接
TCP连接 通过http协议进行数据传输的前提是建立TCP连接,一个TCP连接的建立需要三次握手过程,在一个TCP连接上可以进行客户端与服务器之间的http通信. 在http/1.x的版本中,一个TCP连接中的http通信是有顺序的,只有前一个http通信完成后,后面的http通信才可以接着进行,故在一个服务中要实现多个http通信的并行过程,则需要多个TCP连接 http/2.0版本中,在...
http长连接,短连接和websocket
1.链接 1.1 长链接 http1.1以后默认使用长连接,响应头部会加入响应代码 Connection:keep-alive; 在使用长连接的时候,比如在使用网页的时候(如果是长连接的),那么在用户多次访问服务端的时候TCP链接不会关闭,会一直复用这个链接。 长连接也不是一直保持链接的,时间的设置来自于apache服务器的设定时间。 1.2 短链接 http1.0之前使用的是短连接,即一个点击...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件

相似问题

3
关于git pull的问题谢谢!!!
9
【Eclipse】git在pull代码的时候为什么会提示这个?
2
mui 安卓页面无法滚动
1
用webstorm pull, push代码出现如下错误,以前还没错误呢,今天突然就报错了?但是用git命令行是好用的
0
rocketmq的pull方式可以和spring整合吗,如何整合,恳请各位大佬告知
2
Android 使用下拉刷新框架(SmartRefreshLayout),报错Error inflating class
0
docker pull ,docker load ,docker commit 后download 完成之后就不执行了。docker save, docker tag好用
0
webhook问题:如果不想给www用户项目文件的修改权限,要怎么实现webhook自动部署?
0
MUI :通过ajax得到的json数据如何通过juicer渲染显示
2
gitlab 网页无法访问,但是可以pull 和 push
1
C++中调用ADB实现pull命令获取手机文件,获取文件出错
0
如何使用GitLab的API来提交和下载文件到Git远程仓库或者本地的时候,换行符Crlf和Lf的问题?
2
git提交远程仓库后,只有一个文件pull成功,其他都是unknown revision or path not in the working tree.
2
本地git pull https://github.com/USERNAME/REPOSITORY.git 的时候 下载的是远程哪个分支?
2
js取值,取不到,chrome控制台提示
2
docker第一次run mysql时问题, 247 258
1
笨方法学python3上的习题43AttributeError: 'NoneType' object has no attribute 'enter',哪错了
1
获取Android PreferenceActivity 生成的xml文件
1
SPI通信问题:每发2字节就丢掉2字节
2
新手c语言的压栈与弹栈 写了一段代码压入字符串与弹出字符串 始终读不出来 不知道哪里出错了