移动Android开发——SIP即时通讯客户端重注册机制

最近几天研究了一下SIP的重注册机制。

由于在移动开发中,移动终端的网络环境不稳定,时时会发生变化,因此给移动开发带来了很多问题。本文就SIP移动注册进行了研究与实现。

在SIP注册流程中,用户将自己的信息发往注册服务器,注册服务器确认用户身份后会将用户注册信息(特别是注册的IP地址)保存,直到用户下线或者注册有效期限到达。当用户移动时,如果网络切换,则用户的IP地址发生迁移,如果不能及时注册,则会导致服务器在接收到与该用户相关的请求时(如电话、消息等),不能将该请求正确路由到用户,就会出现A用户明明在线,却怎么也联系不到的问题。

本文通过Android广播机制,实现SIP移动中的重注册功能。

我们知道,Android中具有系统广播,系统广播会将系统的相关事件(如网络切换、低电量等)广播给所有的应用程序,应用程序可以通过广播接收器BroadcastReceiver来接收广播,得知系统状态的变化。

因此,我们需要设计实现一个可以监听并处理网络切换事件的广播接收器,每当网络切换时,获取该事件并重新向服务器注册。

<script src="https://code.csdn.net/snippets/685510.js"></script>

其中的mNetworkService.triggerSipRegistration()方法是主要的重注册方法,其根据当前的SIP注册状态决定如何进行重注册行为。

<script src="https://code.csdn.net/snippets/685510.js"></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值