网络编程:基于UDP实现网络通信

client1.java

package cn.xtnotes.udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class Client1 {
	public static void main(String[] args) throws Exception {
		DatagramSocket socket=new DatagramSocket(); //不需要指定端口号
		String msg="你好,我是一号客户端";
		//将要发送的信息打包成一个数据包 ,需要准备4个参数
		byte[] b=msg.getBytes();
		int len=b.length;
		InetAddress ip=InetAddress.getByName("localhost");
		int port = 7777;
		//用来收发udp包
		DatagramPacket dp=new DatagramPacket(b,len,ip,port);
		socket.send(dp);
		socket.close();
	}
}

client2.java

package cn.xtnotes.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class Client2 {
	public static void main(String[] args) throws Exception {
		//参与通信的两方需要有一方先指定端口号
		DatagramSocket socket=new DatagramSocket(7777); // 此对象将字节填充到UDP包
		System.out.println("client2已准备好,快来连接我吧!");
		//准备空的byte数组用来接收信息
		byte[] b=new byte[1024];
		int len=b.length;
		//用来收发UDP包
		DatagramPacket dp=new DatagramPacket(b,len);
		socket.receive(dp);// 接收信息
		String msg=new String(b,0,dp.getLength());
		System.out.println("client2接收到的消息:"+msg);
		socket.close();
	}
}

先运行client2

client2

在运行client1

client1

阅读剩余
THE END