网络编程------UDP 在底层进行数据传输时是通过数据包进行传输,包的大小为64KB, DatagramSocket、DatagramPacket

网络编程------UDP 在底层进行数据传输时是通过数据包进行传输,包的大小为64KB, DatagramSocket、DatagramPacket_第1张图片代码:
接收端
package cn.tedu.net.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class UDPReceiver {
public static void main(String[] args) throws IOException {
//创建接收端的对象
//指明发送端的端口号—监听端口号—就能获取通过这个端口号发送数据
DatagramSocket ds=new DatagramSocket(8099);
//创建数据包—接受发送端发送的数据
//byte[]—指代就是以多大的字节数组来接受数据
//length—表面的是字节数组真正能接受的数据大小
DatagramPacket dp=new DatagramPacket(new byte[1024],1024);
//根据数据包进行接受数据
ds.receive(dp);
//关流
ds.close();
//解析数据包
System.out.println(dp.getAddress());
//接受的数据
byte[] bs=dp.getData();
System.out.println(new String(bs,0,dp.getLength()));
}
}

发送端:
package cn.tedu.net.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
public class UDPSender {
public static void main(String[] args) throws IOException {
//创建发送端对象
DatagramSocket ds=new DatagramSocket();
//创建发送包对象
//byte[]—要发送的数据
//length—发送数据的长度
//SocketAddress—需要填入IP地址和端口号
DatagramPacket dp=new DatagramPacket
(“你好哇!”.getBytes(),
“你好哇!”.getBytes().length,
new InetSocketAddress
(“127.0.0.1”,8099));
//发送数据包
ds.send(dp);
//关流
ds.close();
}
}
输出:
/127.0.0.1
你好哇!

代码图:
接收端:
网络编程------UDP 在底层进行数据传输时是通过数据包进行传输,包的大小为64KB, DatagramSocket、DatagramPacket_第2张图片发送端:
网络编程------UDP 在底层进行数据传输时是通过数据包进行传输,包的大小为64KB, DatagramSocket、DatagramPacket_第3张图片输出:
网络编程------UDP 在底层进行数据传输时是通过数据包进行传输,包的大小为64KB, DatagramSocket、DatagramPacket_第4张图片

你可能感兴趣的:(API,java基础,网络编程,网络,java)