⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java~35~

📁 JBuilder9 精髓 source code1.rar
💻 JAVA~35~
字号:
package udpserver;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.net.*;
import java.io.*;
import java.util.Date;

/**
 * <p>Title: an example</p>
 * <p>Description:an  no</p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: home</p>
 * @author liujun
 * @version 1.0
 */

public class Frame1 extends JFrame {
  private JPanel contentPane;
  private TextArea textArea1 = new TextArea();
  private XYLayout xYLayout1 = new XYLayout();
  private Label label1 = new Label();
  private TextField textField1 = new TextField();
  private Button button1 = new Button();
  private Button button2 = new Button();

  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    textArea1.setText("  ");
    contentPane.setLayout(xYLayout1);
    this.setSize(new Dimension(400, 300));
    this.setTitle("服务器端");
    label1.setText("消息:");
    textField1.setText("  ");
    button1.setLabel("开始发送");
    button1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        button1_actionPerformed(e);
      }
    });
    button2.setLabel("接受消息");
    button2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        button2_actionPerformed(e);
      }
    });
    contentPane.add(textArea1, new XYConstraints(8, 5, 384, 202));
    contentPane.add(textField1,  new XYConstraints(99, 216, 290, 30));
    contentPane.add(label1, new XYConstraints(27, 218, 53, 26));
    contentPane.add(button1,   new XYConstraints(22, 254, 116, 22));
    contentPane.add(button2,  new XYConstraints(308, 252, 83, 21));
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
    }
  }

  void button1_actionPerformed(ActionEvent e) {
    //声明用于通信服务的套接字变量
    DatagramSocket socket = null;
    try
    {
      socket = new DatagramSocket(1800);
      byte[] buf = new byte[256];
        // 接收请求
        DatagramPacket packet = new DatagramPacket(buf, buf.length);
        socket.receive(packet);
         //进行响应
        String dString ="服务器端消息:"+textField1.getText();
        dString.getBytes(0, dString.length(), buf, 0);

         // 将响应发送到指定的地址和端口
        InetAddress address = packet.getAddress();
        //获取端口号
        int port = packet.getPort();
        //创建数据报
        packet = new DatagramPacket(buf, buf.length, address, port);
        //发送数据报
        socket.send(packet);
    }   //异常处理
       catch (IOException e1)
       {
        e1.printStackTrace();
       }
     //关闭数据报
    socket.close();
    textField1.setText("");
  }

  void button2_actionPerformed(ActionEvent e) {
    try {
      //创建数据报,获取一个数据报套接字
      DatagramSocket socket = new DatagramSocket();
      //发送请求
      byte[] buf = new byte[256];
      InetAddress address = InetAddress.getByName("liujun");
      DatagramPacket packet =
           new DatagramPacket(buf, buf.length, address, 1800);
      socket.send(packet);
      //获取服务器响应,接收数据包
      packet = new DatagramPacket(buf, buf.length);
      socket.receive(packet);
      //显示接收数据
      String received = new String(packet.getData(), 0);
      textArea1.append(received+"\n");
      //关闭DatagramSocket
      socket.close();
       }
    catch (IOException ex) {
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -