首页 > 其他分享 >UDP协议类_DatagramSocket——广播代码实现

UDP协议类_DatagramSocket——广播代码实现

时间:2023-03-15 15:22:18浏览次数:38  
标签:DatagramSocket UDP 广播 new 接收数据 ds dp

广播地址:255.255.255.255

 

public class ClientDemo {

    public static void main(String[] args) throws IOException {
        // 广播 DatagramSocket客户端发送数据的步骤

        // 1:创建DatagramSocket客户端对象
        DatagramSocket ds = new DatagramSocket();
        // 2:创建数据并打包(DatagramPacket)
        String s = "广播,你好啊。。。";
        byte[] bytes = s.getBytes();
        // 这里的地址是广播的地址
        InetAddress address = InetAddress.getByName("255.255.255.255");
        int port = 6998;
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, address, port);
        // 3:调用DatagramSocket客户端对象的方法发送数据
        ds.send(dp);
        // 4:释放资源
        ds.close();
    }
}
public class ServiceDemo {

    public static void main(String[] args) throws IOException {
        // 广播 DatagramSocket接收端接收数据的步骤

        // 1、创建广播接收端对象 new DatagramSocket(6998)表示从6998端口接收数据,如果不写参数,默认从随机端口接收数据。
        DatagramSocket ds = new DatagramSocket(6998);

        // 2、创建一个用于接收数据的箱子
        DatagramPacket dp = new DatagramPacket(new byte[1024], 1024);

        // 3、调用DatagramSocket接收端对象的方法接收数据并放入箱子
        System.out.println("接收数据前");
        ds.receive(dp);
        System.out.println("接收数据后");

        // 4、解析箱子(数据包),并把数据展示
        byte[] data = dp.getData();
        int length = dp.getLength();
        String s = new String(data, 0, length);
        System.out.println(s);

        // 5、释放资源
        ds.close();
    }
}

 

标签:DatagramSocket,UDP,广播,new,接收数据,ds,dp
From: https://www.cnblogs.com/weiduaini/p/17218676.html

相关文章

  • UDP协议类_DatagramSocket——组播代码实现
    组播地址:224.0.0.0--239.225.225.225,其中224.0.0.0--224.0.0.225为预留的组播地址,我们一般使用224.0.1.0及其之后的地址publicclassClientDemo{publicstaticv......
  • UDP协议类_DatagramSocket
    publicclassClientDemo{publicstaticvoidmain(String[]args)throwsIOException{//DatagramSocket客户端发送数据的步骤//1:创建Data......
  • 安卓 广播消息
    发送有序广播1单个广播触发AndroidManifest.xml<!--有序广播接收器使用的权限--><uses-permissionandroid:name="my.permission.receiver"></uses-permission><receive......
  • TCP/UDP
    一、概述接着温顾TCP/UDP UDP(用户数据报):1.无连接2.不可靠传输协议3.传输速率比较快4.首部字段较少5.应用场景......
  • udp客户端 用不用 bind 的区别
    无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的......
  • 即时通信系统 -- V0.3消息广播功能
    在处理业务的Handler(connnet.Conn)方法中加入可以从当前conn中读取消息并广播的功能gofunc(){ buf:=make([]byte,4096) for{ n,err:=conn.Read(buf......
  • 通过RestController里面的方法,改变UDP接收到的结构体里面的数据InputStruct
    我有一个java的springboot程序,里面包括一个UDP监听程序,监听来自第三方UDP发送程序。第三方UDP发送过来的是一个结构体,我在本地程序也建立一个结构体InputStruct来接收数据,......
  • 即时通讯系统 -- V0.2用户上线及广播功能
    V0.1实现了server的基础构建,并在main.go中测试了连接成功V0.2要实现用户上线功能,并且某用户上线时所有在线用户都会收到该用户的上线信息,即蓝线功能实现用户上线功能,先......
  • android | 静态注册广播接收器的坑
    android|静态注册广播接收器的坑按书上写的并不能正常接收,查了一下是这个原因:反正就是要加上包名类名,有点离谱哦。具体如下: btn.setOnClickListener(newView.OnCli......
  • 单机上的UDP客户端与服务器端
    服务端:#include<stdio.h>#include<stdlib.h>#include<winsock2.h>#pragmacomment(lib,"ws2_32")staticSOCKETUdp;intudp_init(char*ip,intport){......