java课程设计--聊天软件(带源码)(可编辑修改word版)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5. 实验方法与步骤:

这个软件从0.1 到1.3 一共13 个版本。0.1 到0.4 版本为客户端界面设计,第0.5 到1.2 版本为服务器端设计以及客户端与服务器端通信连接的设计实现。1.3 版为完善之前版本的缺陷并添加登陆界面。

最终版本1.3 版中一共三个类(如图一所示)

源代码如下:

//客户端

import java.awt.*;

import java.awt.event.*;

import java.io.IOException;

import .*;

import java.io.*;

public class ChatClient extends Frame

{ Socket s = null;

DataOutputStream dos = null;

DataInputStream dis = null;

private boolean bConnected = false;

private static final long serialVersionUID = 1L;

TextField tfTxt = new TextField();

TextArea taContent = new TextArea();

public static void main(String[] args) {

// TODO Auto-generated method stub

new Login();

}

public void launchFrame()

{ setLocation(400, 300);

this.setSize(300, 300);

add(tfTxt, BorderLayout.SOUTH);

add(taContent, BorderLayout.NORTH);

pack();

this.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e)

{ disconnect();

System.exit(0);

}

});

tfTxt.addActionListener(new TFListener());

setVisible(true);

connect();

new Thread(new RecvThead()).start();

}

public void connect() {

try {

s = new Socket("127.0.0.1", 8888);

dos = new DataOutputStream(s.getOutputStream());

dis = new DataInputStream(s.getInputStream());

System.out.print("lian jie shang le ");

bConnected = true;

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void disconnect() {

try {

public void run() {

try {

while (bConnected)

{ String str;

str = dis.readUTF();

taContent.setText(taContent.getText()+str+'\n');

System.out.print(str);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

//服务器端

import java.io.DataInputStream;

import java.io.EOFException;

import java.io.IOException;

import java.io.*;

import .*;

import java.util.*;

public class ChatServer

{ boolean started =

false; ServerSocket ss =

null;

Listclients=new ArrayList();

public static void main(String[] args) {

// Socket s=null;

// DataInputStream dis =null;

new ChatServer().start();

}

相关文档
最新文档