package six; import java.awt.BorderLayout; import java.awt.Color; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; public class UDPServer { private JFrame frame; private JTextField textField; private JTextField textField_1; DatagramSocket ds; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { UDPServer window = new UDPServer(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public UDPServer() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setTitle("服务器"); frame.setBounds(100, 100, 466, 341); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); frame.getContentPane().add(panel, BorderLayout.WEST); panel.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "登录情况", TitledBorder.LEADING, TitledBorder.TOP, new Font("微软雅黑", Font.PLAIN, 12), new Color(59, 59, 59))); JTextArea textArea_1 = new JTextArea(); textArea_1.setEditable(false); textArea_1.setLineWrap(true); textArea_1.setRows(13); textArea_1.setColumns(8); panel.add(textArea_1); JPanel panel_1 = new JPanel(); frame.getContentPane().add(panel_1, BorderLayout.EAST); panel_1.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "文件列表", TitledBorder.LEADING, TitledBorder.TOP, new Font("微软雅黑", Font.PLAIN, 12), new Color(59, 59, 59))); JTextArea textArea_2 = new JTextArea(); textArea_2.setEditable(false); textArea_2.setRows(13); textArea_2.setLineWrap(true); textArea_2.setColumns(8); panel_1.add(textArea_2); JTextArea textArea = new JTextArea(); textArea.setEditable(false); textArea.setLineWrap(true); textArea.setRows(10); textArea.setColumns(6); frame.getContentPane().add(textArea, BorderLayout.CENTER); textArea.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0)), "交流情况", TitledBorder.LEADING, TitledBorder.TOP, new Font("微软雅黑", Font.PLAIN, 12), new Color(59, 59, 59))); JPanel panel_2 = new JPanel(); frame.getContentPane().add(panel_2, BorderLayout.NORTH); JLabel lblNewLabel = new JLabel("ip:"); panel_2.add(lblNewLabel); textField = new JTextField(); textField.setText("127.0.0.1"); panel_2.add(textField); textField.setColumns(6); JLabel lblNewLabel_1 = new JLabel("port:"); panel_2.add(lblNewLabel_1); textField_1 = new JTextField(); textField_1.setText("1024"); panel_2.add(textField_1); textField_1.setColumns(5); JButton btnNewButton = new JButton("启动"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnNewButton.setEnabled(false); try { // String ip = textField.getText(); int cport = Integer.parseInt(textField_1.getText()); // 创建数据接收码头, ds = new DatagramSocket(cport); } catch (IOException e1) { e1.printStackTrace(); } new Thread(new Runnable() { @Override public void run() { try { while (true) { // 创建数据接收的数据缓冲区 byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, buf.length); // 接受来自端口1024的数据包,并存储在集装箱datagramPacket中:注意一旦服务器开启,就会自动监听3000端口 // 如果没有数据,则进行阻塞 ds.receive(dp); // 解析数据包中的信息 String data = new String(dp.getData(), 0, dp.getLength()); int sport = dp.getPort(); // InetAddress ip = dp.getAddress(); textArea.append("第" + sport + "号客户" + " 消息:" + data + "\n"); //textArea_1.append("第" + sport + "号客户" + " 登录"); } } catch (Exception e) { e.printStackTrace(); } } }).start(); } }); panel_2.add(btnNewButton); } }

zhendong LV7
2022年3月6日
meyuso LV9
2022年2月22日
你们的代码都是我的了 LV16
2021年9月18日
dengge123 LV14
2021年6月6日
lid7kay LV3
2021年5月23日
piupiu1111 LV1
2020年7月26日
1791260721 LV1
2020年6月30日
15693621019 LV2
2020年6月22日
cheungf LV1
2020年6月3日
smsbQAQ LV1
2020年5月17日