import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPReceDemo {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
System.out.println("接受端启动。。。。。");
/*
* 建立UDP接收端的思路
* 1,建立UDP socket服务,因为要接受数据所以要明确端口号
* 2,创建数据包,用于存储接受到的数据,方便用数据包对象的方法
* 解析这些数据
* 3,使用socket服务的receive方法将接受到的数据存储到数据包中
* 4,通过数据包的方法解析数据包的数据
* 5,关闭资源
* */
//1.建立udpsockte服务
DatagramSocket ds=new DatagramSocket(10000);
//2.创建数据包
byte[] buf=new byte[1024];
DatagramPacket dP=new DatagramPacket(buf, buf.length);
//使用接受方法,将数据存储到数据包中
ds.receive(dP);//阻塞式的。
//通过数据包对象的方法,解析其中的数据,比如:地址,端口,数据内容
String ip = dP.getAddress().getHostAddress();
int port = dP.getPort();
String text = new String(dP.getData(),0,dP.getLength());
System.out.println(ip+":"+port+text);
//关闭资源
ds.close();
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPSendDemo {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
System.out.println("发送端启动。。。。。");
//创建UDP传输的发送端,
//思路:1.建立Udp的SOCKET服务
//2.数据封装;3.通过UDP的socket服务发送数据出去
//关闭socket服务
//udpsocket服务,使用dategramsocket对象
DatagramSocket ds = new DatagramSocket();
String str ="udp传输演示:哥来了!";
//使用datagrampacket将数据封装到该对象
byte[] buf =str.getBytes();
DatagramPacket dp = new DatagramPacket(buf ,buf.length,InetAddress.getByName("192.168.1.100"),10000);
//通过UDP的socket服务将数据包发送出去,使用send方法
ds.send(dp);
ds.close();
}
}
上一篇:java 给按钮添加事件监听
下一篇:没有了
讨论数量:0