第八章:网络编程-UDP(一)

UDP(一):发送接收单条数据
1、发送端和接收端步骤:

  • 1.发送Send
    • 创建DatagramSocket, 随机端口号
    • 创建DatagramPacket, 指定数据, 长度, 地址, 端口
    • 使用DatagramSocket发送DatagramPacket
    • 关闭DatagramSocket
  • 2.接收Receive
    • 创建DatagramSocket, 指定端口号
    • 创建DatagramPacket, 指定数组, 长度
    • 使用DatagramSocket接收DatagramPacket
    • 从DatagramPacket中获取数据
    • 关闭DatagramSocket
      2、示例代码如下:
      发送端:
package com.jh.www;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class Demo1_send { 
	/*
	 * 1、发送send 
		 * 创建DatagramScoket,随机端口号;
		 * 创建DatagramPacket,指定数据,长度,地址和端口号;
		 * 使用DatagramScoket发送DatagramPacket;
		 * 关闭DatagramScoket
	 * */
public static void main(String[] args) throws Exception {
	String str = "你好吗";
	DatagramSocket socket = new DatagramSocket();//创建码头 socket
	DatagramPacket packet =                      //创建货物 packet
			new DatagramPacket(str.getBytes(),str.getBytes().length,InetAddress.getByName("127.0.0.1"),8888);
	socket.send(packet);//发送货物
	socket.close();//关闭码头	
}
}

接收端:

package com.jh.www;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Demo1_receive {
	/*
		 * 2、接收receive
		 * 创建DatagramSocket,指定端口号;
		 * 创建DatagramPacket,指定数组,长度;
		 * 使用DatagramSocket接收DatagramPacket;
		 * 关闭DatagramSocket;
	 **/

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		DatagramSocket socket = new DatagramSocket(8888);//创建码头
		DatagramPacket packet = new DatagramPacket(new byte[1024],1024);//创建集装箱
		
		socket.receive(packet);//接收货物
		byte[] arr = packet.getData();
		int len = arr.length;
		System.out.println(new String(arr,0,len));
		
		socket.close();
	}
}

3、备注:
*1、控制台端先运行接收方,在运行发送方;
*2、可以在控制台端重新打开一个窗口,把接收端窗口锁定,方便观察结果;

你可能感兴趣的:(java小白修炼手册)