Android平台的可视即时通讯

简介:

    即时通讯是目前最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。 如今市场竞争越来越激烈,如何在有限的时间内完成项目,满足客户的需求成为企业决策者所需要面对的现实。推荐一下佰锐科技的AnyChat SDK可以让企业越过复杂的底层技术实现,而把主要精力投入项目的业务逻辑处理上,加快项目开发进展,从而为企业赢得市场先机。 下面介绍一个基于Android 平台的简易即时通讯系统,研究了在开源服务器Openfire 上各个移动客户端和服务器之间的通信系统结构,实现了客户端功能。 

       Android 平台框架共由5 部分组成。底层核心是基于Linux 2.6内核开发的独立操作系统,该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。中间是Android 执行环境,包括系统运行库、Dalvik 虚拟机、核心库和一些C /C ++库等支持Android 使用的各个组件。应用层框架是开发人员使用这些API 框架来开发自己的应用,简化了应用程序开发的架构设计。应用层程序是用Java语言编写的运行在虚拟机上的程序。

       即时通讯(IM)是一个终端连往一个即时通讯网路的服务。即时通讯与e-mail 的不同在于它的交谈是即时的。大部分的即时通讯服务提供了在线提醒的特性——显示联络人名单,联络人是否在线,能否与联络人交谈等。近几年即时通讯发展特
别迅速,即时通讯的功能日益丰富,由PC 客户端发展到移动客户端,逐渐发展成一个综合化信息平台,国内市场上知名的即时通讯工具有腾讯QQ,新浪UC,中国移动飞信等,但这些产品都有着很严重的安全威胁,如ID 被盗、隐私威胁、病毒威胁等。

     为了减小这些威胁,可以在企业内部开发自己的即时通讯软件,减少为未知用户带来的威胁。

     在Android 平台上开发即时手机通讯系统,它能够使用户在手机客户端上登录服务器,方便、迅捷地收发即时消息。随着研究的深入,可以在该系统上实现图片的传输和接收,以及其他一些功能,这样可以使该系统功能更加多样化。通讯系统架构采用C /S 模式,即客户端/服务器的体系结构。客户端是基于Android 平台进行开发,通过3G 网络与Internet 建立连接,通过服务器实现Android 客户端之间的即时通讯。

      客户端负责初始化通信过程,进行即时通讯时,由客户端负责向服务器端发起连接请求。服务器端采用开源的Openfire作为服务器,允许多个客户端同时登录,并且同时连接到一个服务器上。服务器对每个客户端进行认证,对认证通过的客户端创建会话,实现客户端与客户端之间的通讯。

      系统的客户端定位于Android 平台的手机,采用SIMPLE协议作为即时通讯协议,SIMPLE(SIP for Instant Messaging and Presence LeveragingExtensions) 是SIP (Session Initiation Protocol)的扩展,它为SIP 协议制定了一整套的架构和扩展方面的规范,用于支持IM。SIMPLE 通过SIP 来传递状态信息和实现分布的信息表示。根据协议规则,采用Android 平台提供的XML 解析包对XML 进行解析。根据Activity 模块运行于主线程的特点,采用多线程技术来解决系统通信问题。系统的用户信息和聊天信息存储在Android平台自身所带的SQLite 数据库中。

      系统服务器端采用开源的Openfire 来建立即时通信服务器。Openfire 采用Java 语言进行开发,Java 语言具有跨平台的特点,因此Openfire 服务器可以架设于多种操作系统平台上。Openfire服务器的内核主要由服务器连接管理组件、会话管理组件、数据存储组件和传输器组件等组成。Openfire 实现了插件机制,方便扩展,通过安装与异构网络通讯的插件,便能与其他的通讯软件实现通讯。

      在网络连接中采用Apache 的Mina 框架来实现网络连接,Mina 框架使用非阻塞式的高性能I /O 底层,采用异步I /O 事件和事件驱动机制,使服务器具有很高的效率和性能,从而能够及时处理大量的客户端连接事件和I /O 随机事件,单台服务器可支持上万个并发用户。

     随着移动通信与Internet 的飞速发展及其相互融合,3G 无线网络使无线网络高速接入Internet成为现实,从而移动客户端可以接入到Inter- net 的服务。系统客户终端通过3G 无线网络采用TCP 协议连接到服务器,通过SIMPLE 即时通讯协议进行及时通讯。在移动网络中,移动终端接入到3G 无线网络。网关移动交换中心GMSC(Gateway Mobile Switc- hing Center)为用户提供分组路由、隧道和跟踪移动终端的位置等功能。UMTS(Universal Mobile TelecommunicationsSystem)提供3G 网络内部与外部网络的路由和封装,分配IP 地址,实现与Internet 网络的互通。

       服务器对用户输入的用户名和密码进行身份验证,验证成功后,客户端从服务器端读取客户端的个人信息,并更新好友列表和群组信息,服务器端响应客户端的各种请求,客户端可发送接收信息,通讯完毕退出系统登录状态。这样,一个简易即时通讯系统便实现了。

      随着研究的进一步深入,Android的通讯系统会逐渐完善,相信Android 平台的即时通信系统会有着很好的应用前景。“佰锐3G手机视频开发平台”是由佰锐科技独立研发,具有自主知识产权的手机视频开发平台,为现有的视频应用系统提供手机终端接入平台,可应用于3G网络环境。是国内首套专门针对手机终端定制的视频应用SDK。 

手机软件平台

 目前支持Windows、Unix、Linux(x86、ARM)、Mobile、AndroidiPhone平台等,目前正在做WP7平台的移植。

手机硬件平台 
 最低硬件配置 
        CPU:TI OMAP 850,200MHz 
        ROM:32M  
        RAM:32M 
    推荐硬件配置 
        CPU:Qualcomm MSM 7201A,528MHz 
        ROM:128M  
        RAM:128M 




本文转自 fanxiaojun 51CTO博客,原文链接:http://blog.51cto.com/2343338/518465,如需转载请自行联系原作者

相关文章
|
19天前
|
Android开发
Android MediaTek 平台增加UART接口的红外模块支持,支持NEC红外遥控
Android MediaTek 平台增加UART接口的红外模块支持,支持NEC红外遥控
12 0
|
3月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
35 0
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
36 3
|
4天前
|
开发工具 Android开发
rk平台Android12屏幕永不休眠
rk平台Android12屏幕永不休眠
15 1
|
4天前
|
Android开发
Android 高通平台集成无源码apk示例
Android 高通平台集成无源码apk示例
14 0
|
4天前
|
Android开发
关于高通Android 平台上qssi的介绍
关于高通Android 平台上qssi的介绍
8 0
|
19天前
|
存储 Linux Android开发
Android存储分区与Rockchip平台的分区命名及U-Boot配置
Android存储分区与Rockchip平台的分区命名及U-Boot配置
14 0
|
19天前
|
存储 安全 Ubuntu
Android 生成平台应用签名keystore文件
Android 生成平台应用签名keystore文件
9 0
|
2月前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之安卓构建版本失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
2月前
|
运维 监控 Android开发
应用研发平台EMAS常见问题之安卓push的离线转通知目前无法收到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
25 1