package demo1;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
/*
* 实现UDP协议的发送端:
* 实现UDP协议的发送端:
* 实现封装数据的类 java.net.DatagramPacket 将你的数据包装
* 实现数据传输的类 java.net.DatagramSocket 将数据包发出去
*
* 实现步骤:
* 1. 创建DatagramPacket对象,封装数据, 接收的地址和端口
* 2. 创建DatagramSocket
* 3. 调用DatagramSocket类方法send,发送数据包
* 4. 关闭资源
*
* DatagramPacket构造方法:
* DatagramPacket(byte[] buf, int length, InetAddress address, int port)
*
* DatagramSocket构造方法:
* DatagramSocket()空参数
* 方法: send(DatagramPacket d)
*/
public class UDP_Sendto {
public static void main(String[] args)throws IOException {
//创建数据包对象,封装发送的数据,接收端IP,端口
//创建InetAddress对象,封装自己的Ip;
InetAddress inet = InetAddress.getByName("127.0.0.1");
//封装数据包:数据,数据长度,地址号,端口号
Scanner sca = new Scanner(System.in);
//创建DatagramSocket对象,数据包的发送和接收对象,发送封装包dp给sever
DatagramSocket ds = new DatagramSocket();
while(true){
String message = sca.nextLine(); //nextline,回车结束,若是next,则为空格也会接收不到数据
byte[] data = message.getBytes();
DatagramPacket dp = new DatagramPacket(data,data.length,inet, 6666);
ds.send(dp);
}
//ds.close();
}
}
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
/*
* 实现UDP协议的发送端:
* 实现UDP协议的发送端:
* 实现封装数据的类 java.net.DatagramPacket 将你的数据包装
* 实现数据传输的类 java.net.DatagramSocket 将数据包发出去
*
* 实现步骤:
* 1. 创建DatagramPacket对象,封装数据, 接收的地址和端口
* 2. 创建DatagramSocket
* 3. 调用DatagramSocket类方法send,发送数据包
* 4. 关闭资源
*
* DatagramPacket构造方法:
* DatagramPacket(byte[] buf, int length, InetAddress address, int port)
*
* DatagramSocket构造方法:
* DatagramSocket()空参数
* 方法: send(DatagramPacket d)
*/
public class UDP_Sendto {
public static void main(String[] args)throws IOException {
//创建数据包对象,封装发送的数据,接收端IP,端口
//创建InetAddress对象,封装自己的Ip;
InetAddress inet = InetAddress.getByName("127.0.0.1");
//封装数据包:数据,数据长度,地址号,端口号
Scanner sca = new Scanner(System.in);
//创建DatagramSocket对象,数据包的发送和接收对象,发送封装包dp给sever
DatagramSocket ds = new DatagramSocket();
while(true){
String message = sca.nextLine(); //nextline,回车结束,若是next,则为空格也会接收不到数据
byte[] data = message.getBytes();
DatagramPacket dp = new DatagramPacket(data,data.length,inet, 6666);
ds.send(dp);
}
//ds.close();
}
}