团队作业六
2016-05-27 22:21
239 查看
[b]团队项目设计文档[/b]
1、系统框图
[b] 用机连接局域网,通过手机app登录聊天室,发送消息就相当于在局域网内发送广播指令,即向局域网内每个子ip发送一次数据包。[/b]
系统框图如下:2、系统结构框图
模块结构图:
一共分为五个模块:udp接收功能模块、udp发送功能模块、数据打包编码模块、数据分块解码模块、UI设计美化模块。
项目流程图: 用户进入app后会提示输入昵称和性别,点击登录键后进入聊天室。此时后台会开启udp接收端,持续监听。用户每次输入聊天内容发送数据后,都会向局域网内发送广播数据。其他同一时段登录的用户就会接收到消息。
3、具体模块设计
通信示意图如下:1、udp接收功能模块
局域网通信接收端搭建对应我们队员发送端采用的Udp通信协议,所以我写的接收端也是Udp通信协议,socket通信方式。 端口 8080。首先我们WeChat有两Activity界面,当第二个界面即聊天界面开启时,后台将会自动开启监听端口8080,每当收到数据包时都会交给解码的队员所写的部分进行解码。
其次这个监听不会因为收到数据而终止,它是在后台一直运行的,直至用户退出WeChat。
2、udp发送功能模块
局域网通信发送端搭建采用的是Udp通信协议,socket通信方式即套接字,用于描述IP地址和端口。这里我们采用的是广播IP即255.255.255.255 选择固定的端口号:8080Udp广播是指向局域网内选定端口的所有ip地址都发送一条数据,我们采用了这个特性,即每当用户点击发送按钮时,我们会向局域网内所有登录WeChat的用户发送数据。该数据
是由我们队伍成员编码过得。
3、数据打包编码、解码模块
4、UI设计美化模块
.9图即图片后缀名前有.9的图片,如: pic.9.png.9图片的作用是在图片拉伸的时候特定的区域不会发生图片失真,即我们可以选定可以拉伸的区域和不可拉伸的区域。就像如图所示的聊天气泡,当发送的消息没有超过图片本身大小时不会发生什么,一旦当发送的消息超过了图片本身的大小时,就需要拉伸一定的区域。此时我们就需要用到.9图。
此外我还负责一些按钮图的圆润化等美工工作。
5、整合代码、适配控件
我负责整合大家分别写的代码,给APP适配相应的控件以及界面友好化等工作。适配控件——例如:当接收端接收到发送端发来的数据包,数据包被解码成数据块,我负责的是将数据块填充到控件中,展示在手机上。 界面友好——例如:当用户输入的昵称为空或发送的消息为空时,界面会弹出Toast提示。相关文章推荐
- [INS-40406] 未检测到现有的 Oracle Grid Infrastructure 软件
- Java动态代理机制研读
- 103. Binary Tree Zigzag Level Order Traversal(技巧:应用层次遍历+记录每层个数)
- C语言终极面试宝典
- 第一个简单的jquery程序
- 深入了解Android进度条——ProgressBar,SeekBar和RatingBar
- 关闭日志
- Ubuntu下安装opencv与python-opencv
- 客户端putty, xshell连接linux中vim的小键盘问题
- jQuery模拟原生态App上拉刷新下拉加载效果代码
- 支付宝
- android应用登录qq不执行回调原因分析
- 表单选择器
- 第二周总结站立会议05
- JAVA_JDBC
- 使用LayoutParams来动态修改组件的相对属性
- githug详细安装教程
- LeetCode No334. Increasing Triplet Subsequence
- xuegod2阶段10
- non