一对一聊天程序(java).docVIP

  • 17
  • 0
  • 约6.89千字
  • 约 10页
  • 2017-01-30 发布于重庆
  • 举报
一对一聊天程序(java)

计算机网络与通信实习报告 实 习 题 目 学生专业班级 学生姓名(学号) 指 导 教 师 完 成 时 间 实 习(设计)地点 信息楼139机房 2010 年5月21日 一、实习题目 实现一个一对一的聊天程序 原理概述 在编程软件的基础上采用TCP协议的网络编程实现一款点对点的聊天程序,使用Java语言编写,将程序设计分为客户端和服务器端。 其中此程序客户端和服务器端链接时,首先输入服务器端的IP地址和端口号,当IP地址正确并且端口号没有被占用时,可以进行客户端和服务器端的链接,,在客户端与服务器端相连后,在发送的文本框中输入你想发送的信息,然后点击发送客户端(服务器端)就能在文本框中显示相应的内容。当服务器和客户端没有链接或断开的时候信息不可以发送并能提示“没有与服务器链接”。 三、设计方案 1、根据实习任务书确定程序编写目标,主要功能,时间安排等。 2、分析需求,确定程序主要框架、所需要的编程语言、以及开发环境。 3、研究研究一对一聊天程序的主要功能,一对一聊天程序的原理。 4、按需求创建项目,开始编码。 5、完成编码,进行单元测试和系统测试。 6、完成测试,进行封装,用Eclipse直接打包成jar文件。 程序编写 这是直接在Eclipse6.0.1环境下进行的 服务器端程序: ChatServer?: import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean started = false; ServerSocket ss = null; ListClient clients = new ArrayListClient(); public static void main(String[] args) { new ChatServer().start(); } /* 创建服务器链接的服务端口,此程序中用的端口号是8888,当8888端口正在使用时,用try...catch来捕捉错误(BindException 和 IOException),当捕捉到BindException时,系统会打印出“端口使用中.... 请关掉相关程序并重新运行服务器! public void start() { try { ss = new ServerSocket(8888); started = true; } catch (BindException e) { System.out.println(端口使用中....); System.out.println(请关掉相关程序并重新运行服务器!); System.exit(0); } catch (IOException e) { e.printStackTrace(); } /* 此时用一个while循环,来判断是否启动了服务器,当启动服务器时,就执行while循环,创建一个新的客户端 try { while(started) { Socket s = ss.accept(); Client c = new Client(s); System.out.println(a client connected!); new Thread(c).start(); clients.add(c); //dis.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /* 线程的应用,进行变量的初始化 */ class Client implements Runnable { private Socket s; private DataInputStream dis = null; private D

文档评论(0)

1亿VIP精品文档

相关文档