【Java】UDP套接字编程

服务器

udpserver.java

package server;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class udpserver {

	final static int port = 7217;
	
	public static void main(String[] args) throws Exception {
		System.out.println("服务器!");
		
		DatagramSocket socket = null;
		
		socket = new DatagramSocket(port);
		
		DatagramPacket packet = new DatagramPacket(new byte[2048], 2048);
		
		socket.receive(packet);
		
		byte[] rData = packet.getData();//客户端发过来的文字
		
		InetAddress rAddress = packet.getAddress();//地址
		
		int rPort = packet.getPort();//端口
		
		System.out.println("内容:"+new String(rData));
		System.out.println("IP地址:"+ rAddress.getHostAddress());
		System.out.println("端口号:"+ rPort);
		
		socket.close();
	}

}

客户端

udpclient.java

package client;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class udpclient {
	final static int port = 7217;
	
	final static String ip = "127.0.0.1";
	
	final static String sendStr = "你好,我是客户端!";

	public static void main(String[] args) throws Exception {
		System.out.println("客户端!");
		
		DatagramSocket socket = null;
		
		socket = new DatagramSocket();
		
		DatagramPacket packet = new DatagramPacket(
				sendStr.getBytes(),//字符串的字节数组
				sendStr.getBytes().length,//字节数组的长度
				InetAddress.getByName(ip),//IP
				port);//端口
		
		socket.send(packet);//发包

		socket.close();
	}

}

运行效果

服务器输出:

服务器!
内容:你好,我是客户端!
IP地址:127.0.0.1
端口号:50656

客户端输出:

客户端!

视频讲解

视频讲解页面

猜你喜欢

转载自www.cnblogs.com/minuy/p/12978283.html