Java网络编程---UDP

客户端

java 复制代码
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) throws Exception {
        //1.创建客户端对象
        DatagramSocket socket = new DatagramSocket();
        //2.创建数据包对象封装要发出去的数据
        /* public DatagramPacket(byte buf[], int offset, int length,
        InetAddress address, int port)*/
        Scanner sc = new Scanner(System.in);
        while (true){
            //将数据转成字节
            System.out.println("user:");
            String msg = sc.nextLine();
            if ("exit".equals(msg)){
                System.out.println("退出成功!");
                socket.close();
                break;
            }
            byte[] bytes =msg.getBytes();
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(),6666);
            //3.发送
            socket.send(packet);
        }
    }
}

服务端

java 复制代码
import java.nio.charset.StandardCharsets;


import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Server {
    public static void main(String[] args) throws Exception{
        System.out.println("----------服务端-----------");
        //1.创建一个服务端的对象
        DatagramSocket socket = new DatagramSocket(6666);

        //2.创建一个数据包对象  来接数据
        byte[] buffer = new byte[1024 * 64]; //64kb
        DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

        while (true){
            //接收数据
            socket.receive(packet);

            //打印出来
            int len = packet.getLength();
            String  rs =  new String(buffer,0,len, StandardCharsets.UTF_8);
            System.out.println(rs);


            //接收的客户端的信息
            System.out.println(packet.getAddress());
            System.out.println(packet.getPort());
            System.out.println("-----------------------------------------");
        }

    }
}

效果

相关推荐
智_永无止境6 分钟前
又找到一个纯Java的OCR项目,识别的格式还挺多
java·开发语言·ocr
学编程就要猛11 分钟前
MCP(Model Context Protocol)
java·springai
用户0723670666021 分钟前
Apollo 配置热更新落地:让 Spring Boot @ConfigurationProperties Bean 不重启即时生效
java
2601_9707038327 分钟前
中国除湿机与湿度控制行业研究报告
java·大数据·人工智能
YH_Analytics35 分钟前
2026-2032 年中央鸡蛋输送机市场规模与增长预测
网络·人工智能
深入云栈43 分钟前
Netty 4.2.x 源码深度解析 (二十一):Pipeline 事件传播 —— Inbound 与 Outbound 的双向流转
java·后端·架构
爱敲代码的TOM1 小时前
10.27 易购软件 Java开发线下一面
java·开发语言
yuzhiboyouye1 小时前
String、StringBuilder、StringBuffer 区别(面试题)
java
sun0077001 小时前
ip rule路由
网络·网络协议·tcp/ip
斯维赤1 小时前
微信步数的10点定时推送,看似简单,实则暗藏玄机
java·后端