嵌入式课程设计(论文)-android聊天室设计

上传人:飞*** 文档编号:2663009 上传时间:2017-07-26 格式:DOC 页数:22 大小:774KB
返回 下载 相关 举报
嵌入式课程设计(论文)-android聊天室设计_第1页
第1页 / 共22页
嵌入式课程设计(论文)-android聊天室设计_第2页
第2页 / 共22页
嵌入式课程设计(论文)-android聊天室设计_第3页
第3页 / 共22页
嵌入式课程设计(论文)-android聊天室设计_第4页
第4页 / 共22页
嵌入式课程设计(论文)-android聊天室设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《嵌入式课程设计(论文)-android聊天室设计》由会员分享,可在线阅读,更多相关《嵌入式课程设计(论文)-android聊天室设计(22页珍藏版)》请在金锄头文库上搜索。

1、嵌入式课程设计(论文)Androidl 聊天室设计学 生: 学 号:指导教师:李季 老师专 业:计算机科学与技术重庆大学计算机学院二 O 一一年十二月嵌入式课程设计(论文) 中文摘要I摘 要此系统设计了一个基于 Android 系统与 PC 之间的通信,采用 Socket 流式套接字进行网络通信。其中 Android 系统的模拟器作为客户端,客户端采用获取手机号码作为该客户端的唯一标识,PC 作为服务器端。其中客户端的设计过程中主要用 ChatClientActivity 文件实现客户端的各个 Widget 的功能以及利用Socket 向服务器端发送和接受服务器端的消息。服务器端主要用 Ser

2、verThread 服务器线程初始化 ServerSocket 并将对客户端监听到得 Socket 封装到ClientThread 线程中并将该线程存放到 Vector 数组用于服务器与指定客户端交互,以及启动 BroadCast 线程和 ClientThread 线程,以及将,其中ClientThread 线程主要用于将监听到客户端发送的消息存放到消息队列并将其保存在 SQL2000 数据库中以及根据分类显示在控制台上,BroadCast 线程主要获取消息队列中的消息并根据消息的性质确定是否将此消息广播到所有在线客户端或是发送到某些指定的客户端。StartServer 主要用于启动 Serv

3、erThread 线程,即启动整个服务器。DoDataBase 主要用于连接数据库和实现对数据库的添加操作。最后此系统实现了群聊与私聊的功能,并能够将聊天记录分类保存到数据库中。关键词:Android,Socket 通信,线程同步,TCP/IP 协议嵌入式课程设计(论文) 目录II目 录中文摘要 .1 TCP/IP 及 Socket 简介 .11.1 TCP/IP 协议简介 .11.2 Socket 套接字简介 .12 系统总体架构 .23 系统功能实现 .33.1 数据交互格式 .33.2 服务器功能实现 .43.2.1 StartServer 类 .43.2.2 ServerThread

4、类 .53.2.3 ClientThread 类 .63.2.4 BroadCast 类 .83.2.1DoDataBase 类 .103.3 客户端功能实现 .113.4 系统功能展示 .153.4.1 客户端功能展示 .153.4.2 服务器端及数据库展示 .164 系统存在的问题及改进方法 .174.1 系统存在的问题 .174.2 系统改进方法 .174 自我评价 .18参考文献 .19嵌入式课程设计(论文) 1 TCP/IP 及 Socket 简介- 1 -1 TCP/IP 及 Socket 简介1.1 TCP/IP 协议简介TCP/IP 是 Transm Control Proto

5、col/Internet Protocol 的简写,又称网络通信协议,是 Internet 最基本的协议。TCP/IP 协议是“可靠的” 、 “面相连接”的网络传输协议。TCP/IP 协议遵循的是一个抽象的分层模型,这个模型中所有的 TCP/IP系列网络协议都被归纳到四个抽象的“层”中。每一抽象层建立在低一层提供的服务上,并为高一层服务。TCP/IP 参考模型从上到下分别包括网络接口层、网络互连层、传输层和应用层四层。1.2 Socket 套接字简介在网络上的两个程序通过一个双向的通信链路实现数据交换,这个双向链路的一段就被称为一个 Socket,Socket 通常用来实现客户端和服务器端的链

6、接。Socket 是 TCP/IP 协议的一个十分流行的编程界面,一个 Socket 有一个 IP 地址和一个端口号确定。在 Java 环境中实现基于 TCP/IP 协议的网络编程都需要采用Socket 机制。并且与基于 URL 的网络编程 Socket 编程提供更高的传输效率。Socket 通常采用 C/S 结构,使用 Socket 进行 C/S 程序设计的一般链接过程如下图:图 1.1 Socket 编程连接一般过程嵌入式课程设计(论文) 2 系统总体架构- 2 -2 系统总体架构整个系统由客户端和服务器端组成,其中客户端位于 Android 模拟器上,服务器端位于 PC 上。客户端创建的

7、 Socket 与服务端的 ServerSocket 进行交互来实现网络数据交互。其中 Socket 与 ServerSocket 交互过程如下:(1) 服务器端程序创建一个 ServerSocket,然后调用 accept()方法等待客户连接(2) 客户端创建一个 Socket 并请求与服务器端程序建立连接。(3) 服务器端程序接受客户端的连接请求,并创建一个新的 Socket 与该客户端建立专线连接。(4) 建立了连接的客户端及服务器端的两个 Socket 在一个有服务器端程序创建的单独线程上对话,对话方式采用 getInputStream()、getOutputStream()得到的输入

8、与输出流进行数据的读取与输出。客户端的 Socket 与服务器端的 ServerSocket 的通信如下图:图 2.1 Socket 与 ServerSocket 通信图(5) 服务器端开始等待新的连接请求,重复(2)(5)的过程。在客户端程序实现了界面的显示以及与服务器端的数据交互。在服务器端程嵌入式课程设计(论文) 2 系统总体架构- 3 -序一共包含五个类,其名称及功能如下表所示:StartServer 启动服务器主线程 ServerThread,即启动服务器ServerThread 服务器监听端口线程,负责创建 ServerSocket 以及监听是否有新客户端连接,并记录客户端连接以及

9、需要发送的消息ClientThread 维持服务器与单个客户端的连接线程,负责接受客户端发送来的消息BroadCast 服务器向客户端发送广播线程,负责向客户端发送消息DoDataBase 连接数据库,将消息拆解后按类型存放到数据库 ChatDemo 的messages 表中表 2.1 服务器端程序的四个类功能实现通信功能的流程图如下:图 2.2 系统通信功能流程图嵌入式课程设计(论文) 3 系统功能实现- 4 -3 系统功能实现3.1 数据交互格式对于此聊天系统,主要存在如下三类数据:1、登陆2、传递消息3、退出这三类数据都是需要向服务器端发送的数据,因为了在服务器端处理的数据不被混淆,必须对他们的数据格式进行规格化,此系统的数据规格如下图:表 3.1 消息格式图消息种类: “L”登陆;“S”传递消息;“C”退出,目的地址: 要发往特定客户端的手机号标 识: 用来标识不同种类的信息符号其中“$”发送的消息标识;“#”客户上下线标识。源

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号