这是这个网络聊天室项目的原理图:
很简单,首先ABCD是4个客户端,当A发送信息给服务器,服务器实现以广播的形式把信息全发给每个人---群发群聊
客户端代码:
package com.aa;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.*;
import java.net.*;
import java.util.Date;
import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
public class Client {
public static void initUIManager() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
System.err.println("获取系统外观失败:" + e);
}
}
public static void main(String[] args) {
initUIManager();
new ClientFrame();
}
}
class ClientFrame extends JFrame implements Runnable, ActionListener,
KeyListener {
private static final long serialVersionUID = 8518610966119429018L;
ImageIcon image;// 定义一个图片
JPanel panel;
JLabel label;
JFrame frame;// 改变窗体的大小
JScrollPane textPane;
JTextArea areaText;
// 加滚动轴代码
JTextField fieldMsg;
JButton butSend;
JButton