您的位置:首页 > 理论基础 > 计算机网络

Java 网络编程基于UDP_IP协议的网络编程

2016-11-16 01:08 363 查看

java DatagramSocket和DatagramPackUDP_IP协议的网络编程

UDP编程:DatagramSocket DatagramPack

UDP数据报通过数据报套接字 DatagramSocket 发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。

DatagramPacket 对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号。

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

import org.junit.Test;
//关于UDF的编程
public class TestUDP {
// 发送端
@Test
public void send(){
DatagramSocket ds = null;
try {
ds = new DatagramSocket();
byte[] b = "我要发送".getBytes();
//创建一个数据报:每一个数据报不能大于64k,都记录着数据信息,发送端的IP、端口,以及接收端的IP、端口号
DatagramPacket pack = new DatagramPacket(b, 0, b.length, InetAddress.getByName("127.0.0.1"), 9090);
ds.send(pack);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(ds != null){
ds.close();
}
}

}

// 接收端
@Test
public void receive() {
DatagramSocket ds = null;
try {
ds = new DatagramSocket(9090);
byte[] b = new byte[1024];
DatagramPacket pack = new DatagramPacket(b, 0, b.length);
ds.receive(pack);
String str = new String(pack.getData(), 0, pack.getLength());
System.out.println(str);
} catch (IOException e) {
e.printStackTrace();
}finally{
if (ds != null){
ds.close();
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: