package com.itheima;
import javax.xml.crypto.Data;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class ClientDemo1 {
public static void main(String[] args) throws Exception {
System.out.println("=========客户端启动=========");
//1.创建发送端对象:发送端自带默认的端口号(人)
DatagramSocket socket = new DatagramSocket();
//2.创建一个数据包对象封装数据(韭菜盒子)
byte[] buffer = "我是一颗快乐的韭菜,你愿意吃吗?".getBytes();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,
InetAddress.getLocalHost(), 8888);
//3.发送数据出去
socket.send(packet);
socket.close();
}
}
package com.itheima;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class ServerDemo2 {
public static void main(String[] args) throws Exception {
System.out.println("=========服务端启动=========");
//1.创建接收端对象:注册端口(人)
DatagramSocket socket = new DatagramSocket(8888);
//2.创建一个数据包对象接收数据(韭菜盒子)
byte [] buffer = new byte[1024 * 64];
DatagramPacket packet = new DatagramPacket(buffer,buffer.length);
//3.等待接收数据即可
socket.receive(packet);
//4.取出数据即可
//读取多少倒出多少
int len = packet.getLength();
String rs = new String(buffer,0,len);
System.out.println("收到了:" + rs);
//获取发送端的ip和端口
String ip = packet.getSocketAddress().toString();
System.out.println("对方地址:" + ip);
int port = packet.getPort();
System.out.println("对方端口:" + port);
socket.close();
}
}
package com.itheima.d4_udp3_broadcast;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class ServerDemo2 {
public static void main(String[] args) throws Exception {
System.out.println("=========服务端启动=========");
//1.创建接收端对象:注册端口(人)
DatagramSocket socket = new DatagramSocket(9999);
//2.创建一个数据包对象接收数据(韭菜盒子)
byte [] buffer = new byte[1024 * 64];
DatagramPacket packet = new DatagramPacket(buffer,buffer.length);
while (true) {
//3.等待接收数据即可
socket.receive(packet);
//4.取出数据即可
//读取多少倒出多少
int len = packet.getLength();
String rs = new String(buffer,0,len);
System.out.println("收到了来自:" + packet.getAddress() + ", 对方端口是" + packet.getPort() + "的消息:" + rs);
}
}
}
package com.itheima.d4_udp3_broadcast;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class ClientDemo1 {
public static void main(String[] args) throws Exception {
System.out.println("=========客户端启动=========");
//1.创建发送端对象:发送端自带默认的端口号(人)
DatagramSocket socket = new DatagramSocket(7777);
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请说:");
String msg = sc.nextLine();
if("exit".equals(msg)){
System.out.println("离线成功!");
socket.close();
break;
}
//2.创建一个数据包对象封装数据(韭菜盒子)
byte[] buffer = msg.getBytes();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,
InetAddress.getByName("255.255.255.255"),
9999);
//3.发送数据出去
socket.send(packet);
}
}
}
package com.itheima.udp4_multicast;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class ServerDemo2 {
public static void main(String[] args) throws Exception {
System.out.println("=========服务端启动=========");
//1.创建接收端对象:注册端口(人)
MulticastSocket socket = new MulticastSocket(9999);
//把当前接收端加入到一个组播组中去:绑定对应的组播消息的组播IP
socket.joinGroup(InetAddress.getByName("224.0.0.1"));
//2.创建一个数据包对象接收数据(韭菜盒子)
byte [] buffer = new byte[1024 * 64];
DatagramPacket packet = new DatagramPacket(buffer,buffer.length);
while (true) {
//3.等待接收数据即可
socket.receive(packet);
//4.取出数据即可
//读取多少倒出多少
int len = packet.getLength();
String rs = new String(buffer,0,len);
System.out.println("收到了来自:" + packet.getAddress() + ", 对方端口是" + packet.getPort() + "的消息:" + rs);
}
}
}
package com.itheima.udp4_multicast;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class ClientDemo1 {
public static void main(String[] args) throws Exception {
System.out.println("=========客户端启动=========");
//1.创建发送端对象:发送端自带默认的端口号(人)
DatagramSocket socket = new DatagramSocket(7777);
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请说:");
String msg = sc.nextLine();
if("exit".equals(msg)){
System.out.println("离线成功!");
socket.close();
break;
}
//2.创建一个数据包对象封装数据(韭菜盒子)
byte[] buffer = msg.getBytes();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length,
InetAddress.getByName("224.0.0.1"),
9999);
//3.发送数据出去
socket.send(packet);
}
}
}