欢迎来到天天文库
浏览记录
ID:39903270
大小:61.64 KB
页数:6页
时间:2019-07-14
《网络编程课程设计报告-Android Socket 聊天室》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、网络编程课程设计报告课程名称java程序设计之网络编程题目AndroidSocket聊天室专业信息管理与信息系统班级组长副组长组员指导教师6目录1设计目的32开发工具和开发环境33设计原理33.1实现思想33.2服务器端工作流程33.3客户端工作流程34系统流程图45系统设计45.1系统功能55.2系统架构55.3模块设计56小结6参考文献66一、设计目的随着人们对手机的依赖程度越来越深和人们相互之间的交流越来越多,开发一款手机聊天软件便显得尤为重要。我组开发的手机聊天软件-AndroidSocket聊天室不仅可以让人们相互之间的交流变得越来越便捷,而且通过对A
2、ndroidSocket聊天室的开发,使得我们能更好的掌握网络编程知识,锻炼自己的java编程能力。二、开发工具和开发环境1、开发工具:Eclipse2、开发环境:JDK1.7三、设计原理1、实现思想Socket是TCP/IP协议上的一种通信,在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。2、服务器端工作流程(1)创建服务器端套接字并绑定到一个端口上(2)套接字设置监听模式等待连接请求(3)接受连接请求后进行通信(4)返回,等待赢一个连接请求3、客户端工作流程(1)创建客
3、户端套接字(指定服务器端IP地址与端口号)(2)连接(Android创建Socket会自动连接)(3)与服务器端进行通信(4)关闭套接字四、系统流程图6开始是否建立服务器端有用户申请建立连接有用户发送信息处理信息五、系统设计本课程设计按照系统的具体功能要求,首先应用Socket编程创建客户端和服务器端,每多个客户端服务器端就会相因的创建一个线程,它们之间通过这个连接来实现数据通信;然后在客户端设置一个监听器,用于监听服务器发来的消息。并根据消息做出不同的动作。61、系统功能该系统实现了用户之间的点对点单人聊天,在线用户之间的群聊。在客户端和服务器端都可以查看历史
4、消息、保存消息、清空消息。为了监控用户之间的状态,服务器还可以实现踢掉用户的功能,同时用户时间文件传输的信息都会在服务器上显示。2、系统架构1)选择传输控制协议TCP,使用Java的Socket编程机制,分别建立客户端与服务器端;2)分别设计客户端与服务器端的界面,客户端使用的是用安卓开发界面。3、模块设计服务器端:主要实现向各个客户端发布系统消息,接受来自客户端的各种信息并分别处理。具体功能①连接控制:包括启动服务器、断开服务器以及断开某个客户端的连接;②管理作用:包括对参与聊天者的昵称进行修改以及向所有或某个客户端发送消息,维护一个IP地址和昵称所对应的哈希
5、表,以便定位到正确的客户端,且有权强制修改用户昵称;③刷新列表:在有用户登陆或离开的时候实时更新列表,并将信息反馈到各个客户端;④登陆信息:检查用户是否已登陆,如登录,发消息通知所有用户。同时刷新在线用户列表;⑤聊天记录:能保存聊天记录,实现消息的保存、清空以及查看等功能;⑥消息处理:解析客户端与服务器端的消息交互类型,并做出相应处理,能够找到消息所对应的接收端。客户端:主要实现向服务器端发布消息,并且对来自服务器的消息做出相应的响应。具体功能如①连接功能:输入服务器地址,实现登录及断开功能;②登录设置:登录时,发送消息使服务器端获得相关登录信息,昵称及IP地址
6、记录到服务器端维持的哈希表,断开后发送消息使IP地址及昵称从哈希表中删除;③监听作用:实现对服务器发送过来的消息进行监听的功能;④消息处理:接收由服务器端发送来的信息,并做出相应的响应;6⑤聊天记录:实现聊天记录的保存、清空以及查看等功能;⑥消息处理:相应从服务器端接收到的消息交互类型,实现用户与用户之间的信息交流。六、小结通过对AndroidSocket聊天室软件的开发,让我们对java的相关知识有了更深刻的理解,而且让我们的java编程能力得到了很好的锻炼。同时,我们组齐心协力共同完成了AndroidSocket聊天室软件的开发,这使得我们明白了相互合作是非
7、常重要的。最后,我们组在AndroidSocket聊天室软件的开发过程中,有做得不足的地方,我们将进一步学习java有关知识,争取做得越来越好。参考文献[1]谢希仁.计算机网络(第4版)[D],北京:电子工业出版社,2002[2]胡伏湘.Java程序设计实用教程(第2版)北京:清华大学出版社,2001[3]廉洁,赵群荣,乌兰.Java网络安全研究[J].内蒙古民族大学学报(自然科学版).2008(04)[4]李健周.关于计算机软件开发的JAVA编程语言研究[J].信息通信.2013(10)[5]何小翔,蒋叶青,蒋守仁.Java编程语言及互联网设计[J].合肥工业
8、大学学报(自然科学版).
此文档下载收益归作者所有