udpsocketreceive.java

来自「JAVA编程思想源代码 值得一下 很难找的」· Java 代码 · 共 64 行

JAVA
64
字号
package chapter15;

import java.applet.Applet;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPSocketReceive extends Applet {
	TextField t;

	public void init() {
		Label label1 = new Label("收到的消息:");
		add(label1);
		t = new TextField(20);
		add(t);
		Button b = new Button("开始接受数据报");
		b.addMouseListener(new mouseListener()); //为按钮添加鼠标事件
		add(b);
	}

	public void paint(Graphics g) {
	}

	class mouseListener implements MouseListener {

		public void mouseReleased(MouseEvent m) {
		}

		public void mouseClicked(MouseEvent m) {

			DatagramSocket socket;

			while (true) {
				byte buffer[] = new byte[256]; //创建消息接收缓冲区
				DatagramPacket packet = new DatagramPacket(buffer,
						buffer.length); //创建用于接收的数据报对象
				try {
					socket = new DatagramSocket(3000); //创建套接字,监听3000端口
					socket.receive(packet); //接收数据报
					String str = new String(packet.getData()); //从数据报对象中取数据
					t.setText(str); //输出字符串形式的数据
					socket.close(); //关闭套接字
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}

		public void mouseEntered(MouseEvent m) {
		}

		public void mousePressed(MouseEvent m) {
		}

		public void mouseExited(MouseEvent m) {
		}
	}
}

⌨️ 快捷键说明

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