文档库 最新最全的文档下载
当前位置:文档库 › 聊天室程序

聊天室程序

聊天室程序
聊天室程序

import java.awt.*;

public class ChatClient extends Frame {

public static void main(String[] args) { ChatClient cc = new ChatClient();

https://www.wendangku.net/doc/9b3172500.html,unchFrame();

}

public void launchFrame(){

this.setLocation(400,300);

this.setSize(300,300);

this.setVisible(true);

}

}

import java.awt.*;

public class ChatClient extends Frame {

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

setVisible(true);//设置可见性

}

}

import java.awt.*;

import java.awt.event.*;

public class ChatClient extends Frame {

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

setVisible(true);//设置可见性

}

}

import java.awt.*;

import java.awt.event.*;

public class ChatClient extends Frame {

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

}

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String s = tfTxt.getText().trim(); //trim()去掉空调

taContent.setText(s);

tfTxt.setText("");

}

}

}

ChatServer

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

public class ChatServer {

public static void main(String[] args) {

//服务器启动

try {

ServerSocket ss = new ServerSocket(8888);

while(true){

Socket s = ss.accept();

System.out.println("a client connected!");

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatClient.java

import java.awt.*;

import java.awt.event.*;

import java.io.DataOutputStream;

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.Socket;

import https://www.wendangku.net/doc/9b3172500.html,.UnknownHostException;

import java.io.*;

public class ChatClient extends Frame {

Socket s = null;

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

connect();

}

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim(); //trim()去掉空格

taContent.setText(str);

tfTxt.setText("");

}

}

//客户端启动连接到服务器

public void connect(){

try {

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

System.out.println("Connected!");

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatServer.java

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

import java.io.*;

public class ChatServer {

public static void main(String[] args) {

//服务器启动

try {

ServerSocket ss = new ServerSocket(8888);

while(true){

//等待客户端连接

Socket s = ss.accept();

System.out.println("a client connected!");

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

Chat 0.7

ChatClient.java

import java.awt.*;

import java.awt.event.*;

import java.io.DataOutputStream;

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.Socket;

import https://www.wendangku.net/doc/9b3172500.html,.UnknownHostException;

import java.io.*;

public class ChatClient extends Frame {

Socket s = null;

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

connect();

}

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim(); //trim()去掉空格

taContent.setText(str);

tfTxt.setText("");

//将文字传输到服务器端

try {

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

dos.writeUTF(str);

dos.flush();

dos.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

//客户端启动连接到服务器

public void connect(){

try {

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

System.out.println("Connected!");

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatServer.java

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

import java.io.*;

public class ChatServer {

public static void main(String[] args) {

//服务器启动

try {

ServerSocket ss = new ServerSocket(8888);

while(true){

//等待客户端连接

Socket s = ss.accept();

System.out.println("a client connected!");

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

String str = dis.readUTF();

System.out.println(str);

dis.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatClient.java

import java.awt.*;

import java.awt.event.*;

import java.io.DataOutputStream;

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.Socket;

import https://www.wendangku.net/doc/9b3172500.html,.UnknownHostException;

import java.io.*;

public class ChatClient extends Frame {

Socket s = null;

DataOutputStream dos = null;

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

disconnect();

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

connect();

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim(); //trim()去掉空格

taContent.setText(str);

tfTxt.setText("");

//将文字传输到服务器端

try {

dos.writeUTF(str);

dos.flush();

//dos.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

//客户端启动连接到服务器

public void connect(){

try {

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

dos = new DataOutputStream(s.getOutputStream()); System.out.println("Connected!");

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

//与服务器断开连接

public void disconnect(){

try {

dos.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatServer.java

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

import java.io.*;

public class ChatServer {

public static void main(String[] args) {

//服务器启动

boolean started = false;

try {

ServerSocket ss = new ServerSocket(8888);

started = true;

while(started){

//等待客户端连接

boolean bConnected = false;

Socket s = ss.accept();

System.out.println("a client connected!");

bConnected = true;

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

while(bConnected){

String str = dis.readUTF();

System.out.println(str);

}

dis.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

Chat 0.9

ChatClient.java

import java.awt.*;

import java.awt.event.*;

import java.io.DataOutputStream;

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.Socket;

import https://www.wendangku.net/doc/9b3172500.html,.UnknownHostException;

import java.io.*;

public class ChatClient extends Frame {

Socket s = null;

DataOutputStream dos = null;

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类

@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

disconnect();

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

connect();

}

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim(); //trim()去掉空格

taContent.setText(str);

tfTxt.setText("");

//将文字传输到服务器端

try {

dos.writeUTF(str);

dos.flush();

//dos.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

//客户端启动连接到服务器

public void connect(){

try {

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

dos = new DataOutputStream(s.getOutputStream()); System.out.println("Connected!");

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

//与服务器断开连接

public void disconnect(){

try {

dos.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatServer.java

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

import java.io.*;

public class ChatServer {

public static void main(String[] args) {

//服务器启动

boolean started = false;

ServerSocket ss = null;

Socket s = null;

DataInputStream dis = null;

try {

ss = new ServerSocket(8888);

}catch(BindException e){

System.out.println("端口使用中...");

System.out.println("请关闭相应程序并重新运行服务器...");

System.exit(0);

}catch(IOException e){

e.printStackTrace();

}

try{

started = true;

while(started){

//等待客户端连接

boolean bConnected = false;

s = ss.accept();

System.out.println("a client connected!");

bConnected = true;

//接受数据

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

while(bConnected){

String str = dis.readUTF();

System.out.println(str);

}

//dis.close();

}

} catch (EOFException e) {

System.out.println("Client closed!");

} catch (IOException e) {

e.printStackTrace();

//终止服务器

}finally{

try {

if(dis != null ) dis.close();

if(s != null ) s.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

}

Chat1.0

ChatClient.java

import java.awt.*;

import java.awt.event.*;

import java.io.DataOutputStream;

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.Socket;

import https://www.wendangku.net/doc/9b3172500.html,.UnknownHostException;

import java.io.*;

public class ChatClient extends Frame {

Socket s = null;

DataOutputStream dos = null;

TextField tfTxt = new TextField();//定义成员变量tfTxt

TextArea taContent = new TextArea();//定义成员变量taContent

public static void main(String[] args) {

new ChatClient().launchFrame();//创建一个对象来调用窗口}

public void launchFrame(){

setLocation(400,300);//定义窗口出现的初始位置

this.setSize(300,300);//定义窗口初始大小

//使用BorderLayout布局

add(tfTxt , BorderLayout.SOUTH);

add(taContent , BorderLayout.NORTH);

pack();

//实现窗口关闭功能

this.addWindowListener(new WindowAdapter(){ //匿名类@Override //标记符

//重写windowClosing方法

public void windowClosing(WindowEvent arg0) {

disconnect();

System.exit(0);

}

});

//调用TfListener(),实现输入功能

tfTxt.addActionListener(new TfListener());

setVisible(true);//设置可见性

connect();

}

//功能:从tf输入文字->显示到ta上

//实现方法:使用内部类。因为不需要外部访问。

private class TfListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str = tfTxt.getText().trim(); //trim()去掉空格

taContent.setText(str);

tfTxt.setText("");

//将文字传输到服务器端

try {

dos.writeUTF(str);

dos.flush();

//dos.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

//客户端启动连接到服务器

public void connect(){

try {

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

dos = new DataOutputStream(s.getOutputStream()); System.out.println("Connected!");

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

//与服务器断开连接

public void disconnect(){

try {

dos.close();

s.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

ChatServer.java

import java.io.IOException;

import https://www.wendangku.net/doc/9b3172500.html,.*;

import java.io.*;

public class ChatServer {

boolean started = false;

ServerSocket ss = null;

public static void main(String[] args) {

new ChatServer().start();

}

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();

}

try{

while(started){

//等待客户端连接

boolean bConnected = false;

Socket s = ss.accept();

Client c = new Client(s);

System.out.println("a client connected!");

new Thread(c).start();

//dis.close();

}

}catch(IOException e){

e.printStackTrace();

}finally{

try{

ss.close();

}catch(IOException e){

e.printStackTrace();

}

}

}

class Client implements Runnable{

private Socket s = null;

private DataInputStream dis = null;

private boolean bConnected = false;

public Client(Socket s){

this.s = s;

try {

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

bConnected = true;

} catch (IOException e) {

e.printStackTrace();

}

}

@Override

public void run() {

try{

相关文档