udpget.java

来自「java网络高级编程的配套源码,java网络高级编程为清华出版社出版.」· Java 代码 · 共 72 行

JAVA
72
字号
/*源代码清单8-4*/

import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class UDPGet extends Frame implements ActionListener
{
  TextArea textArea1 = new TextArea();
  Button button1 = new Button();

  public static void main(String[] args)
  {
     UDPGet get=new UDPGet();
     get.setLocation(100,100);
     get.setSize(300,200);
     get.show();
     get.waitForData();
  }


  public UDPGet()
  {
    try
    {
      jbInit();
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  }

  void waitForData()
  {
    try
    {
      byte[] buffer=new byte[1024];
      DatagramPacket packet=new DatagramPacket(buffer,buffer.length);
      DatagramSocket socket=new DatagramSocket(9999);
      while(true)
      {
        socket.receive(packet);
        String s=new String(buffer,0,0,packet.getLength());
        textArea1.append(s+"\n");
        packet=new DatagramPacket(buffer,buffer.length);
      }
    }catch(Exception e)
    {
    }
  }

  private void jbInit() throws Exception
  {
    this.setTitle("接收数据报");
    textArea1.setText("");
    button1.setLabel("退出 ");
    this.add(textArea1, BorderLayout.CENTER);
    this.add(button1, BorderLayout.SOUTH);
    button1.addActionListener(this);
  }

  public void actionPerformed(ActionEvent e)
  {
    Component com=(Component)e.getSource();
    if(com.equals(button1))
      System.exit(0);
  }
  
}

⌨️ 快捷键说明

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