作者:李国帅
qq:9611153
1、思路
最近有个想法,做一个面向手机的文本和图片聊天工具,慢慢的有了一个思路,大致如下:
1、服务端部分:使用linux做服务器,主要处理网络转发,。
2、客户端部分:使用android做客户端,主要分为显示,网络收发,本地化存储,用户查询,历史查询。
定个原则:
尽量不在服务器端进行复杂运算,因为自己申请的服务器是最低配置的主机。
加密和存储,群组等这些东西如果需要的话尽量放在客户端。
使用简单的图来表示:
2、基本消息交互
先实现基本的逻辑,然后再去完善,使用简单交互图表示,就不做说明了。
3、基本模块
服务器端:
在linux下编写一个服务程序,做一些收发和同步逻辑,相对内容不多。
要处理好线程同步,异步收发,上线通知这些基本逻辑。
客户端:
android界面,显示用户列表,历史对话,用户信息,主要是把内容展示给使用者。
jniso部分,进行消息收发和加密模块,与服务器进行通信。
模块介绍如图:
在客户端中,加密可使用java的api,不过为了不容易被人解密还是使用ndk比较好,从网上找个开源的aes文本加密,在ndk编译后,然后收发模块使用即可。
消息收发也使用ndk,相对android的socket,jni程序更加短小灵活。
4、部署
l 在找一台外网服务器,将程序拷贝上去,执行
linux服务端程序
http://119.29.74.189:8080/apk/server
windows服务器程序
http://119.29.74.189:8080/apk/server.exe
l 下载android客户端程序apk,然后进行安装。
第一次运行需要配置服务器地址,填写自己的电话号码和昵称,如果未配置服务地址请从设置中配置,然后重新启动。
android客户端
http://119.29.74.189:8080/apk/SimpleChat.apk
此程序属个人开发的小程序,还在完善过程中。