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("-----------------------------------------");
        }

    }
}

效果

相关推荐
mldong3 小时前
给若依加审批流,不用 Flowable
java·spring boot·架构
Wang's Blog4 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
讳疾忌医丶4 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
郑州光合科技余经理5 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
毅炼5 小时前
Rover-Suite 开源发布:轻量服务注册中心与网关一体化方案
java·后端·系统架构·gateway
梦想平凡5 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
sunshine22 girl7 小时前
Idea中如何搜索
java·ide·intellij-idea
猫吻鱼7 小时前
【AI 01】【Spring AI 基础使用】
java·spring·spring ai
梨涡泥窝7 小时前
基于SSM的校园二手交易平台的设计与实现
java·tomcat
Winner_hwx7 小时前
华为ICT大赛备赛复习1
服务器·网络·华为