接收方
创建DatagramSocket实例并指定端口。 创建DatagramPacket实例接收信息。 调用DatagramSocket的receive()方法将接收信息并传递给DatagramPacket。 通过DatagramPacket的getData()方法获取信息内容,getLength()方法获取长度。
package io. github. jast90. udp ; import java. net. DatagramPacket ;
import java. net. DatagramSocket ; public class MyUdpRecv { public static void main ( String [ ] args) throws Exception { DatagramSocket datagramSocket = new DatagramSocket ( 3000 ) ; byte [ ] buf = new byte [ 1024 ] ; DatagramPacket datagramPacket = new DatagramPacket ( buf, 1024 ) ; datagramSocket. receive ( datagramPacket) ; System . out. println ( new String ( datagramPacket. getData ( ) , 0 , datagramPacket. getLength ( ) ) ) ; datagramSocket. close ( ) ; }
}
发送方
创建DatagramSocket实例。 创建信息。 创建DatagramPacket实例并指定信息、信息长度、接收方ip地址及接收方端口。 调用DatagramSocket的send()方法发送DatagramPacket。
package io. github. jast90. udp ; import java. net. DatagramPacket ;
import java. net. DatagramSocket ;
import java. net. InetAddress ; public class MyUdpSend { public static void main ( String [ ] args) throws Exception { DatagramSocket datagramSocket = new DatagramSocket ( ) ; String msg = "hello world" ; DatagramPacket datagramPacket = new DatagramPacket ( msg. getBytes ( ) , msg. length ( ) , InetAddress . getByName ( "127.0.0.1" ) , 3000 ) ; datagramSocket. send ( datagramPacket) ; datagramSocket. close ( ) ; }
}