1、 课课 程程 设设 计计 说说 明明 书书 网络编程课程设计 学生姓名学生姓名: 学学 号:号: 学学 院院: 电子与计算机科学技术学院 专专 业业: 网络工程 题题 目目: 局域网即时通讯系统 文件和文件夹的传输 2012 年 12 月 26 日 1.1. 系统设计系统设计 1.1.1.1. 目标设计目标设计 按照 TCP、UDP 协议的规范,采用套接字 Socket、DatagramSocket 的方式, 建立 TCP、UDP 混合应用的局域网即时通讯系统,其中,UDP 主要负责局域网聊 天功能的实现;TCP 主要负责局域网文件传送功能的实现。设计要求: 1) 采用套接字 Scoket 方
2、式建立 TCP 服务器和客户端; 2) 服务器主要用于接收客户端发过来的各类型文件和文件夹; 3) 服务器端建立共享空间保存客户发来的文件和文件夹 4) 客户端主要用于向服务器端传送文件和文件夹; 5) 采用套接字 DatagramSocket 方式建立 UDP 网络环境 6) 该 UDP 环境主要用于实现本机与局域网中其他主机之间的聊天功能 7) 在聊天过程中可以发送文字,图片,以及动画等内容 8) 采用多线程方式; 9) 操作方面、界面友好。 1.1.2 2 开发和运行环境开发和运行环境 MyEclipse 10.0 MySQL 5.5 Navicat 1.1.3 3 本人主要工作本人主要
3、工作 本系统的开发过程中分为四个模块: 1)局域网探测用户以及私聊 2)数据传输 3)通信功能 4)文件传输 本人主要工作是: 文件传输。 主要实现用户之间的文件传输及文件夹的传输。 2.2. 局域网即时通讯系统概要设计局域网即时通讯系统概要设计 根据大家日常所用的及时通讯工具,这次课程设计的任务是做一个类 OICQ 即时通讯系统。本系统不仅能够即时发送和接收好友发送的消息和图片,而且可 以给好友发送文件和文件目录并也能接收好友发来的, 用户通过登录界面成功登 陆后,系统提供状态信息的特性显示好友名单,好友是否在在线与能否与好 友交谈。选择在线好友后,可以与之聊天或是相互之间收发文件及文件目录
4、。总 之,能够满足我们日常最基本的通讯需求,界面友好美观。即时通信利用的是互 联网线路,通过文字、文件的信息交流与互动,有效节省了沟通双方的时间与经 济成本。即时通信不但成为人们的沟通工具,还成为了人们利用其进行工作、学 习的平台。 本系统的基本设计概念及主要功能图: 开始 传输文件 是否选中传输 文件 结束 Y N 传输成功 图 2-1 文件传输 开始 传输文件夹 是否选中传输 文件夹 结束 Y N 传输成功 图 2-2 文件夹传输 3 3局域网即时通讯系统详细设计局域网即时通讯系统详细设计 主要实现系统向好友发送聊天信息、接收好友的聊天信息等并保存到数 据库中的功能,这里的聊天信息,不仅包
5、括文字还可以包括文件和文件夹等。 冯武宝 谢谢海南社区支持:http:/ 3.1 聊天框主要界面 部分相关代码: public class SendFile extends Thread private String ip; private String userName; private long sendedSize = 0; private long fileSize; private File file; private Socket client; public SendFile(String userName,String ip,File file) this.userName =
6、 userName; this.ip = ip; this.file = file; this.fileSize = file.length(); public long getSendedSize() return sendedSize; public long getFileSize() return fileSize; public void run() try client = new Socket(ip,8850); FileInputStream fin = new FileInputStream(file); BufferedInputStream bin = new BufferedInputStream(fin); BufferedOutputStream bout = new BufferedOutputStream(client.getOutputStream(); int i = 0; UIMap.chatUIMap.get(userName).appendM