有客户端请求连接时就给客户端分配一个线程来处理客户端的交互l、接着继续监听客户端的连接l、并把客户端的Socket对象存放起来l、当他的好友给该用户发送消息时服务器通过该Socket给用户发送信息客户端给服务器发送的都是jso
字符串l、当服务器接收到客户端发送来的消息时首先判断客户端的请求类型l、根据客户端的请求类型(比如说请求登录)来做相应的处理l、然后返回数据给客户端l、客户端也是根据服务器返回的消息得到返回类型l、根据返回类型(比如说返回好友信息)做相应的处理客户端发送二进制数据技术概述:首先将待发送的二进制数据(图片、音频、视频)转化成字节数组l、然后将字节数组经Base64转化为字符串l、然后封装到jso
数据里面发送给好友用户给好友发送的消息对象里面会封装来自哪个用户l、要发送给哪个用户l、以及请求类型当服务器收到该消息时会转发给对应的好友发送信息主要分为两类:发送文字信息和发送二进制信息文字信息可以直接嵌入到JSON数据里面l、但是二进制数据是不能直接嵌入到JSON数据里面的l、可以通过A
droid里自带的一个工具类Base64将字节数据转换为字符串l、这样有三个好处:可以起到保密作用防止解析JSON数据时出现异常
8
f可以将数据存放到JSON数据里面l、不用再用额外的方式传送二进制数据
9
f2系统需求分析为了开发出真正满足用户需求的软件产品l、首先必须知道用户的需求l、对软件需求的深入理解是软件开发工作获得成功的前提条件l、因此我们对该系统的需求做出了认真的分析21功能描述这方面的需求指定系统必须提供的服务l、通过需求分析应该划分出系统必须完成的所有功能211好友管理作为一款聊天通信软件l、用户可能会有很多好友l、好友管理是用户常用的功能l、聊天用户可以对自己的好友进行管理l、包括查找好友、添加好友、删除好友l、修改好友在本地的显示信息1查找好友当用户好友过多时l、用户想打到要聊天的好友可能不那么容易因此为用户提供查找好友功能l、只要输入用户的信息就可以找到想找的好友用户可以根据多个条件查找好友l、比如:性别l、年龄段l、用户名l、昵称等等2添加好友用户刚开始是没有好友的l、但是可以添加感兴趣的好友l、当然也可以被其他用户添加当用户主动添加其他用户为好友时l、需要得到对方的认可后才可以成功添加对方为好友当被其他用户添加好友时l、服务器会让用户确认是否要添加对方为好友l、用户可以选择添加也r