`
932035345
  • 浏览: 2268 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

UDP传输和UDP接收

UDP 
阅读更多
UDP的传输端:通过先建立一个发送数据包的套接字(路径),定义一个发送方的地址,再定义一个接收方的地址,再创建一个要发送的数据包传输。


import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketAddress;

public class SendDate {
/**
* 基于UDP的数据传输
*/
public static void main(String[] args) throws Exception{


//发送数据发送的地址(发件人)
SocketAddress sendAdd = new InetSocketAddress("127.0.0.1",9091);

//定义接收方的地址(收件人)
SocketAddress address = new InetSocketAddress("127.0.0.1",9090);

//用来发送数据包的套接字(建立一个发送的路径)
DatagramSocket socket = new DatagramSocket(sendAdd);

int num = 0;
while(true){
num++;
String msg = "我是UDP传输" +num;
Thread.sleep(1000);
byte[] buf = msg.getBytes();

//创建一个要发送数据包(包裹)
DatagramPacket packet = new DatagramPacket(buf,buf.length,address);

//发送数据包
socket.send(packet);
}
}
}
UDP的接收端:和上面一样,首先先是建立一个接收方的套接字(路径),再定义一个接收数据包,数据就会被存在buf数组中,这就完成了UDP的传输和接收



import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.SocketException;


public class ReceiveData{
/**
* 基于UDP的数据接收
* @param args
*
*/

public static void main(String[] args) throws Exception {

//接收方的地址
SocketAddress receiveAdd = new InetSocketAddress("127.0.0.1",9090);

//创建接收数据的套接字(快递员)建立一个接收数据的路径
DatagramSocket socket = new DatagramSocket(receiveAdd);

int num = 0;
while(true){
num++;
Thread.sleep(1000);//这是控制传输数据的速度时间
byte[] buf = new byte[1024];

//创建数据包对象
DatagramPacket packet = new DatagramPacket(buf, buf.length);

//接收数据包,数据就会被存在buf数组中
socket.receive(packet);
String str = new String(buf);
System.out.println(str.trim());//str.trim() 这是去掉空格

}
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics