UDP的发送与接收

[color=brown]1、UDP接收[/color]

package com.boonya.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
* UDP接收消息测试:UDP接收端启动之后会一直阻塞,只有接收到信息后才关闭。
* 如果网络无数据发送过来,也不出现阻塞,说明端口被占用。
* 运行时先启动接收程序。
*/
public class UdpReceive {
public static void main(String[] args) throws SocketException, UnknownHostException {
DatagramSocket ds=new DatagramSocket(8000);
byte [] byt=new byte [1024];
DatagramPacket dp=new DatagramPacket(byt,byt.length);
try {
ds.receive(dp);
String str=new String(dp.getData(),0,dp.getLength());
System.out.println(str);
System.out.println("IP:"+dp.getAddress().getHostAddress()+" Port:"+dp.getPort());
} catch (IOException e) {
e.printStackTrace();
}finally{
ds.close();
}


}

}


2、UDP发送

package com.boonya.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
* UDP发送消息测试:UDP接收端启动之后会一直阻塞,只有接收到信息后才关闭。
* 如果网络无数据发送过来,也不出现阻塞,说明端口被占用。
* 运行时先启动接收程序。
*/
public class UdpSend {
public static void main(String[] args) throws SocketException, UnknownHostException {
DatagramSocket ds=new DatagramSocket();
String str="china";
DatagramPacket dp=new DatagramPacket(str.getBytes(), str.length(),InetAddress.getByName("192.168.20.48"), 8000);
try {
ds.send(dp);
} catch (IOException e) {
e.printStackTrace();
}finally{
ds.close();
}

}

}

你可能感兴趣的:(TCPUDP)