计算机网络综合实习一对一聊天

2019-08-30 16:29

青岛农业大学 理学与信息科学学院

计算机网络综合实习报告

设 计 题 目 实现一个一对一的聊天程序

学生专业班级

学生姓名(学号)

指 导 教 师

完 成 时 间

设 计 地 点

年 月 日

目 录

一.实验目的及实验环境 ..................................................... 1

1.实验目的 ............................................................ 1 2.实验环境 ............................................................ 1 二. 实验内容 ............................................................. 1

1.设计概要 ............................................................ 2 2.功能要求 ............................................................ 2 3.功能设计 ............................................................ 3

1)流程图 .......................................................... 3 2)功能实现 ........................................................ 3

四.测试数据及运行结果 .................................................... 4 五. 实验总结 ............................................................. 5 六. 主要参考文献 ......................................................... 6 七.附录(所有代码) ...................................................... 7

一.实验目的及实验环境

1.实验目的

《计算机网络》是一门理论性、应用性、实践性比较强的课程。学生只有通过实践,才能理解和掌握计算机网络与通信的有关基本概念、基本原理;通过实践,培养学生的实际动手能力,理论联系实际的能力,综合应用能力,从而培养学生的创新能力。 《计算机网络综合实习》是学习完《计算机网络》课程后进行的一次全面的综合实习,是本专业实践性重要环节之一。本次实习从原理和实践的角度,在计算机上编程模拟实现计算机网络的基本协议,或者架设一个小型局域网并对其进行相应配置。通过本次实习,使学生对计算机网络的基本概念和基本原理有更深入的理解与掌握,同时进一步提高学生的动手能力及解决实际问题的能力。

2.实验环境

本软件采用Java语言编写,本程序基于java和MyEclipse Java Enterprise开发环境,可以在一般的装有windows系统的主机上运行。而网络传输方面采用TCP/IP网络传输协议。

二.实验内容

实现一个一对一的聊天程序。其基本过程如下:服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户机和服务器可以通过建立的套接字连接进行通信。服务器和客户端可以是一台电脑上的两个进程,也可以分别部署在两台电脑上。

三.方案设计

1

1.设计概要

(1)本软件客户端与用户共用一段程序。客户端编译运行后,在窗口选择----侦听。用户编译运行后,在窗口选择----连接。 (2)本软件实现的功能有:

1)允许服务器侦听客户端,客户端连接到服务器 2)允许服务区与客户端之间进行聊天; 3)允许服务器与客户端更改背景颜色; 4)允许服务器与客户端更改字体颜色; 5)服务器与客户端时,会显示内容发送时间;

6)允许服务器与客户端用鼠标点击“发送”,按ENTER键均可发送内容 7)允许服务器与客户端用鼠标点击关闭时关闭聊天窗口

2.功能要求

(1)在服务器端和客户端分别创建一个套接字对象,通过输入输出流连接在一起。套接字调用close()方法关闭双方的套接字连接。

(2)使用多线程处理套接字连接,把服务器端或客户端读取的数据放在一个单独的线程中去进行,防止服务器端或客户端读取数据可能引起的堵塞。服务器端收到一个客户的套接字后,应该启动一个专门为该客户服务的线程。

(3)成功连接后,在图形界面中用户可以根据自己的需要进行不同的操作,如:群聊天、和某一个用户单独聊天(可加入生动的表情描述)、发送文件等。 在界面中会显示用户的聊天记录。 (4)登录功能.

(5)客户可以通过服务器转发,实现一对一和多对多聊天. (6)实现呼叫功能.

(7)客户端程序应该可以实时显示目前其它用户的状态.

2

3.功能设计

1)流程图 服务器进程 像操作系统注 册服务 ServreSocket(port) Serverocket.accept() 等待客户连接, 返回 如果收到客户 连接请求, 就返 Socket 交换程序 回 Socket 对象, OutputStream 表示建立了与 IutputStream 客户的链接 Socket.close()

断开连接 客户进程 Socket(host,port) OutputStream IutputStream Socket.close() 请求与服务器连接,Socket对象创建好,表示连接成功。 断开连接 服务器与客户利用ServerSocket和Socket来通信 2)功能实现

(1)Socket socket = new Socket(String host,int port);客户端创建Socket对象,host是服务器端的IP地址,port是一个端口号,该对象用于连接服务器。

(2)BufferedReader br=new BufferedReader

(new InputStreamReader(socket.getInputStream())); 创建一个使用默认大小输入缓冲区的缓冲字符输入流。该输入流的指向是一个Reader流,Reader流将数据读入缓冲区,BufferedReader再从缓冲区中读取数据。InputStreamReader是字节流通向字符流的桥梁:它使用指定的charset读取字节并将其解码为字符。getInputStream()获取字节输入流。

(3)PrintStream ps = new PrintStream(socket.getOutputStream());创建新的打印流,PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。

(4)File file = getFile();调用getFile()函数返回一个file的的路径,提示用户输入一个路径,判断是否存在该文件, 如果输入非法给予提示, 重新输入。

(5)ps.println(file.getName()); ps.println(file.length());将文件名和大小发送到服务端。 (6)String msg = br.readLine();if(\已存在\ 接收服务器发送回来的是否

3


计算机网络综合实习一对一聊天.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建设工程质量竣工验收意见书(桂质监档表19)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: