1、 基于 UDP 的多人聊天系统 只需把两个客户段代码 与一个服务器代码导入就可以了, 记得 要把服务器 ip:192.168.1.77(也可以自己在服务器程序中改一下) , 每 个客户端需要设置一下 ip,比如 A 客户端:192.168.1.78,B 客户端: 192.168.1.88,A 客户端向 B 客户端通讯时, “请输入对方 ip” ,这项 改为 192.168.1.88,就可以了。 客户端源代码程序: ChatFram.java package ChatFrame_01; import .*; import java.io.*; import java.awt.*; import
2、java.awt.event.*; import javax.swing.*; import java.lang.*; import java.awt.color.*; import javax.swing.JOptionPane; public class ChatFrame extends JFrame JPanel contentPane; JLabel label1 = new JLabel();/ 发送消息 JLabel label2 = new JLabel();/ 输入ip Label label3 = new Label();/ 输入端口标签 Label label4 = ne
3、w Label();/ 输出端口标签 JTextField textField1 = new JTextField();/ 发送 消息 JTextField textField2 = new JTextField();/ 输入 ip JTextField textField3 = new JTextField();/ 获得 输入端口 JTextField textField4 = new JTextField();/ 获得 输出端口 JButton button1 = new JButton(“发送“);/ 发送消息 TextArea textArea1 = new TextArea(); J
4、OptionPane jopane = new JOptionPane(); DatagramPacket sendpacket, receivepacket;/ 声明 发送和接收数据包 DatagramSocket sendsocket, receivesocket;/ 声明 发送和接收DatagramSocket public ChatFrame() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try toInit(); catch (Exception e) e.printStackTrace(); private void toInit() th
5、rows Exception contentPane = (JPanel) this.getContentPane(); label1.setText(“发送信息:“); label1.setBounds(new Rectangle(13, 100, 60, 21); contentPane.setLayout(null); contentPane.setBackground(Color.pink); this.setSize(new Dimension(363, 502); this.setTitle(“多人聊天室“); label2.setText(“输入对方IP地址:“); label2
6、.setBounds(new Rectangle(12, 19, 109, 23); label3.setText(“输入端口:“); label3.setBounds(new Rectangle(12, 58, 55, 22); label4.setText(“输出端口:“); label4.setBounds(new Rectangle(180, 58, 55, 22); textField3.setText(“3000“); textField4.setText(“3001“); button1.setBounds(new Rectangle(280, 100, 59, 21); button1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) button1_actionPerformed(e); ); textField1.a