网络编程-udpsocket

客户端

//Udp通过数据包来传递消息
public class Client {
    public static void main(String[] args) throws Exception {

        //建立一个socket
        DatagramSocket socket = new DatagramSocket();
        //建个数据报包
        String msg ="阿杰,你好!";
        InetAddress localhost = InetAddress.getByName("localhost");
        int port=9090;
        //建个数据包(数据,数据的起始长度,接收者的地址)
        DatagramPacket packet = new DatagramPacket(msg.getBytes(StandardCharsets.UTF_8), 0, msg.getBytes(StandardCharsets.UTF_8).length, localhost, port);
        //发送包
        socket.send(packet);
        //关闭流
        socket.close();
    }
}

服务端

public class Server {
    public static void main(String[] args) throws  Exception {
        //开放端口
        DatagramSocket socket = new DatagramSocket(9090);
        //接收数据包
        byte[] buffer = new byte[1024];
        //通过这个包来接收并存储数据
        DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);
        socket.receive(packet);//阻塞接收
        //读取数据
        //将字节流转换为字符型并输出数据
        System.out.println(new String(packet.getData(),0,packet.getLength()));
        socket.close();
    }
}

结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值