2、UDP通信

UDP通信,接收方

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UdpClient2 {
public static void main(String[] args) throws IOException {
//1、建立socket,无参构造器
DatagramSocket socket=new DatagramSocket(9090);
//创建byte数组,接收数据包
byte[] buffer = new byte[1024];

//指定数据包
DatagramPacket packet = new DatagramPacket(buffer,0,buffer.length);
//调用receive方法,接收数据
socket.receive(packet);

System.out.println(packet.getAddress().getHostName());

//输出接收的数据
System.out.println(new String(packet.getData(),0,packet.getLength()));

socket.close();


}
}

UDP通信,发送方

getBytes() 方法有两种形式:

getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。


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

public class UdpClient1 {
public static void main(String[] args) throws IOException {
//1、建立UDP_socket,无参构造器
DatagramSocket socket=new DatagramSocket();

//2、建String数据包
String msg="你好";

//3、发送给谁,在给定主机名的情况下获取主机的IP地址
//InetAddress localhost=InetAddress.getByName("127.0.0.1");
InetAddress localhost=InetAddress.getByName("localhost");
//System.out.println(localhost); localhost/127.0.0.1
int port=9090;

//建立数据包,指定数据,起始位置,长度,地址,端口
DatagramPacket packet = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,localhost,port);

//4、发送包
socket.send(packet);

//关闭socket
socket.close();


}
}

  

 

posted @ 2022-07-09 19:04  颓废且努力奋斗的人  阅读(48)  评论(0)    收藏  举报