重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android长连接,android长连接实现

如何实现android和服务器长连接

看你具体的需求与服务器能提供的接口类型了,如果是Http的接口,在Wi-fi或者移动网络中APN类型是NET(CMNET,UNINET,CTNET等)类型时,可以直接用keep-alive保持长连接,如果是移动网络APN类型是WAP类型,长连接就无法保持了,如果只是处理定时心跳,建议定时去启动一个Http连接完成心跳;如果需要处理推送业务,那么可以用XMPP协议,这个需要服务端提供相应的服务,再有就是如果有那种需要频繁刷新的数据业务,websocket也可以考虑

资兴网站建设公司成都创新互联,资兴网站设计制作,有大型网站制作公司丰富经验。已为资兴上千余家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的资兴做网站的公司定做!

[img]

如何干净的实现Android/Java Socket 长连接通信

在远标实现过:socket模拟网页的报文连接某个网站,创建tcp的socket后,当我socket.connect后,如果在5到7秒钟不socket.send,那么这个链接就失效了。 请问如何长时间的保持这个链接

这是在服务器端的设置的,客户端没法设置,可以发送心跳包。

socket.connect后,每3-4秒用socket.send发送一字节数据(内容随便),然后观查这个连接是否保持。

lientSocket=serverSocket.accept();

OutputStream os = clientSocket.getOutputStream();

ObjectOutputStream oos=new ObjectOutputStream(os);

oos.writeObject(al);

oos.flush();

oos.close()//socket会关闭

实现:

长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的。

如果,长时间未发送维持连接包,服务端程序将断开连接。

客户端:

通过持有Client对象,可以随时(使用sendObject方法)发送Object给服务端。

如果keepAliveDelay毫秒(程序中是2秒)内未发送任何数据,则,自动发送一个KeepAlive对象给服务端,

用于维持连接。

由于,我们向服务端,可以发送很多不同的对象,服务端也可以返回不同的对象。

所以,对于返回对象的处理,要编写具体的ObjectAction实现类进行处理。

通过Client.addActionMap方法进行添加。这样,程序会回调处理。

服务端:

由于客户端会定时(keepAliveDelay毫秒)发送维持连接的信息过来,所以,服务端要有一个检测机制。

即当服务端receiveTimeDelay毫秒(程序中是3秒)内未接收任何数据,则,自动断开与客户端的连接。

ActionMapping的原理与客户端相似(相同)。

通过添加相应的ObjectAction实现类,可以实现不同对象的响应、应答过程。

android 客户端怎么实现长连接和短连接

所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送.

 


标题名称:android长连接,android长连接实现
分享网址:http://cqcxhl.cn/article/dsopsgj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP