UDPプロトコルを使用してネットワークの調製は、受信側は送信側はデータの「Hello、World」を送信し、プログラムのリスニングポート8001が設けられています。

UDPプロトコルを使用してネットワークの調製は、受信側は送信側はデータの「Hello、World」を送信し、プログラムのリスニングポート8001が設けられています。

サーバー側

 

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UdpServer {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		DatagramSocket ds=new DatagramSocket(3000);
		String str="hello world";//要发送的数据
		/**
		 * 
		 * 创建一个要发送的数据包,数据包包括发送的数据,数据的长度,接收端的ip地址和端口号
		 * 
		 */
		DatagramPacket dp=new DatagramPacket(str.getBytes(), 
				str.length(),InetAddress.getByName("localhost"),8001);
		System.out.println("发送信息");
		ds.send(dp);
		ds.close(); 
	}

}

クライアント

 

 

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UdpTest {

	public static void main(String[] args) throws IOException {
		byte[] buf=new byte[1024];
		//定义一个dategramSocket对象,监听器的端口号为8001
		DatagramSocket ds=new DatagramSocket(8001);
		//定义一个dategramPacket对象,用于接受数据
		DatagramPacket dp=new DatagramPacket(buf, 1024);
		System.out.println("等待接受数据");
		ds.receive(dp);//等待接受数据,如果没有接受数据,会发生阻塞
		String str=new String(dp.getData(), 0, dp.getLength())+"from"
		+dp.getAddress().getHostAddress()+":"+dp.getPort();
		System.out.println(str);
		ds.close();
		
	}

}

 

 

 

 

 

 

 

公開された79元の記事 ウォンの賞賛1 ビュー648

おすすめ

転載: blog.csdn.net/zhupengqq1/article/details/103974412