IPv6 组播示例

2023-11-30

我搜索了如何实现简单 ipv6 多播示例的示例,但是我只找到了使用 ipv4 的示例。

谁能提供一个简单的 ipv6 多播“helloworld”示例?


这是一个简单的客户端服务器示例。顺便说一句,在网络上的多台计算机上运行它将使所有计算机相互聊天,这有利于测试网络上的自动发现。

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.MulticastSocket;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class UdpBroadcaster {

private static final Logger LOGGER = LoggerFactory.getLogger(UdpBroadcaster.class);

private static final int PORT = 9876;
private static final String MCAST_ADDR = "FF7E:230::1234";

private static InetAddress GROUP;

public static void main(String[] args) {
    try {
        GROUP = InetAddress.getByName(MCAST_ADDR);
        Thread server = server();
        server.start();
        Thread.sleep(3000);
        Thread client = client();
        client.start();
        client.join();
    } catch (Exception e) {
        LOGGER.error("Usage : [group-ip] [port]");
    }
}

private static Thread client() {
    return new Thread(new Runnable() {
        public void run() {
            MulticastSocket multicastSocket = null;
            try {
                multicastSocket = new MulticastSocket(PORT);
                multicastSocket.joinGroup(GROUP);
                while (true) {
                    try {
                        byte[] receiveData = new byte[256];
                        DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
                        multicastSocket.receive(receivePacket);
                        LOGGER.info("Client received from : " + receivePacket.getAddress() + ", " + new String(receivePacket.getData()));
                    } catch (Exception e) {
                        LOGGER.error(null, e);
                    }
                }
            } catch (Exception e) {
                LOGGER.error(null, e);
            } finally {
                multicastSocket.close();
            }
        }
    });
}

private static Thread server() {
    return new Thread(new Runnable() {
        public void run() {
            DatagramSocket serverSocket = null;
            try {
                serverSocket = new DatagramSocket();
                try {
                    while (true) {
                        byte[] sendData = new byte[256];
                        DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, GROUP, PORT);
                        serverSocket.send(sendPacket);
                        ThreadUtilities.sleep(1000);
                    }
                } catch (Exception e) {
                    LOGGER.error(null, e);
                }
            } catch (Exception e) {
                LOGGER.error(null, e);
            }
        }
    });
}

}

希望有帮助。 中号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPv6 组播示例 的相关文章

  • java程序有多少种结束方式?

    我知道使用 System exit 0 可以结束一个java程序 例如 如果我有一个JFrame窗口 它会关闭并结束程序 但我想知道还有多少其他方法 可以关闭它并结束程序 包括发生错误时 程序会被关闭 JFrame也会被关闭吗 添加到其他答
  • Kafka - 如何同时使用过滤器和过滤器?

    我有一个 Kafka 流 它从一个主题获取数据 并且需要将该信息过滤到两个不同的主题 KStream
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 以相反的顺序打印任何集合中的项目?

    我在 使用 Java 进行数据结构和问题解决 一书中遇到以下问题 编写一个例程 使用 Collections API 以相反的顺序打印任何 Collection 中的项目 不要使用 ListIterator 我不会把它放在这里 因为我想让有
  • 查看Java Agent修改的Java类的源代码

    我需要了解 Java 代理如何修改我的初始类 以便我能够理解代码的作用 build gradle configurations jar archiveName agent2 jar jar manifest attributes Prema
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • titledBorder 标题中的图标

    您好 是否可以在 titledBorder 的标题中放置一个图标 例如以下代码 import java awt GridLayout import javax swing JFrame import javax swing JLabel i
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • Spring Data Rest 多对多 POST

    首先 让我解释一下我的用例 这非常简单 有一个用户实体和一个服务实体 我使用 UserService 作为连接实体 连接表 在用户和服务之间建立多对多关联最初 会有一些用户集和一些服务集 用户可以在任何时间点订阅任何服务 在这种情况下 将向
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • Java 中清除嵌套 Map 的好方法

    public class MyCache AbstractMap
  • 带 getClassLoader 和不带 getClassLoader 的 getResourceAsStream 有什么区别?

    我想知道以下两者之间的区别 MyClass class getClassLoader getResourceAsStream path to my properties and MyClass class getResourceAsStre
  • 什么是 Java2D 处理程序线程?

    我创建了一个使用 Hibernate 的示例 java 应用程序 当我进行线程转储时 我观察到一个名为 Java2D Disposer 的奇怪线程 有人能告诉我该线程的功能吗 AWT 系统中的某些实体需要最终确定以释放资源 最突出的例子是j

随机推荐

  • java.lang.ClassNotFoundException

    我正在开发一个 java 项目 该项目直到几天前才开始工作 我不确定我对 Eclipse 设置做了什么来控制它 但现在当我尝试运行一些访问 google Finance api 的代码时 我收到了 java lang ClassNotFou
  • 根据下拉列表选择从数据库填充另一个选择下拉列表

    我正在构建一个网站来学习编码 并尝试构建一个工具 用户可以在其中单击包含从数据库中提取的一些类别名称的选择 下拉菜单cat然后将出现另一个选择 其中包含从数据库中提取的子类别名称subcat 这几乎和 Yelp 的一模一样 进入类别 就像
  • 加载多种消息类型的设计模式

    当我浏览时 我遇到了一个关于处理多种消息类型 我关心的是 如何以简洁的方式加载这样的消息 我决定创建一个单独的类 其中的方法每次调用时都会加载一条消息 此方法应创建具体消息类型 例如 AlphaMessage BetaMessage Gam
  • C 编译器错误中的“需要左值”是什么意思? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 include
  • 如何在代码中配置我的Windows服务来访问桌面?

    我创建了一个Windows服务 我想从该服务打开一些基于 Windows 的应用程序 但我的 Windows 服务无法启动桌面应用程序 要启用访问权限 我必须执行以下步骤 打开管理工具 服务 右键单击我的服务并选择 属性 然后在 登录 选项
  • 如何使 clang 编译为 llvm IR

    我希望 clang 将我的 C C 代码编译为 LLVM 位代码而不是二进制可执行文件 我怎样才能做到这一点 如果我有 LLVM 位代码 如何进一步将其编译为二进制可执行文件 我想在编译为二进制可执行文件之前将一些我自己的代码添加到 LLV
  • 为什么 print_r 和 var_dump 在 echo 之前执行

    我正在打电话var dump or print r 在一个具有一个值的数组上echo陈述 echo br br testArray is gt var dump testArray lt br br 这是浏览器中的实际输出 array 0
  • Python 2 和 3 之间 numpy 数组的 Pickle 不兼容性

    我正在尝试加载链接的 MNIST 数据集here在 Python 3 2 中使用此程序 import pickle import gzip import numpy with gzip open mnist pkl gz rb as f l
  • Bash 脚本中的字符串连接

    我正在编写这个 Bash 脚本 count 0 result for d in ls 1 IMAGE DIR egrep jpg do if count 4 0 then result abc d if count gt 0 then ec
  • Foundation5 与 Symfony2 中的 Compass 和 Assetic

    我想在 Symfony2 中使用 Compass 和 Assetic 配置 Foundation5 我已经按照他们的说法安装了 Foundationhttp foundation zurb com docs sass html npm in
  • 组合来自名称向量的数据帧

    我有一个我认为很容易解决的问题 但我没有找到解决方案 我有大量的数据框想要按行绑定 为了避免列出所有数据框的名称 我使用 paste0 快速创建数据框名称的向量 问题是我无法使 rbind 函数从该名称向量中识别数据帧 更明确地说 df1
  • 如何在一张图片中找到另一张图片?

    我有 2 张 bmp 图像 ImageA 是屏幕截图 示例 ImageB 是其中的一个子集 举个例子 一个图标 我想找到图像中图像的 X Y 坐标 如果存在 知道我会怎么做吗 这是一个快速示例 但速度很慢 大约需要 4 6 秒 但它完全符合
  • jQuery滑块“slide”事件:如何确定用户的滑动方向?

    我一直在剖析 firebug 中的事件和 ui 对象 但它似乎没有任何我可以使用的东西 我错过了什么吗 我想我可以跟踪价值的变化 但这似乎是一个拼凑 selector slider slide function event ui I nee
  • C++ iptables 重定向形成单独的数据包

    我使用以下命令将端口 50 的所有流量重定向到 5050 iptables t nat A POSTROUTING p udp dport 50 j REDIRECT to port 5050 我在 5050 上使用 RAW 套接字进行监听
  • 如何在Python中轻轻地打乱列表

    我遇到这个问题 我想对列表进行洗牌 但只能稍微做一些 比如说 我只想移动少量元素 有没有一种简单的方法可以完成这项工作 现在我能想到的最好的方法是手动构建我自己的方法 但是有什么方法可以使用random图书馆为我做这个 为了展示其中一些解决
  • 通过 Python 使用 PasteExcelTable 将 Excel 数据复制到 Outlook 电子邮件的正文

    将格式化的 Excel 范围复制到 Word 文件 这会从 Excel 复制一系列单元格并将其粘贴到 Word 文档中并保留格式 该代码适用于此 但是 我还想将数据粘贴到带有单元格样式的电子邮件正文中 import sys from pat
  • 如何安装 PyAutoGUI

    我正在运行 OS X El Capitan v 10 11 3 我正在尝试安装 PyAutoGUI 在终端上 我成功执行了以下操作 sudo pip3 install pyobjc core sudo pip3 install pyobjc
  • 如何在magento中创建依赖属性

    在magento中有什么方法可以创建依赖属性 例如颜色取决于尺寸和尺寸取决于制造商 让我假设您通过简单地表达属性来表示产品属性 要回答您的问题 不可能在 管理属性 下直接或直接创建依赖产品属性 但是您可以通过创建可配置产品来使属性相互依赖
  • 在symfony中显示存储在BLOB数据库中的图像

    我在 GETer 实体中加载图像 blob 数据 当我在 GETer 中返回 this gt foto 时 我在屏幕上看到 Resource id 284 当我像这样更改 GETer 时 return stream get contents
  • IPv6 组播示例

    我搜索了如何实现简单 ipv6 多播示例的示例 但是我只找到了使用 ipv4 的示例 谁能提供一个简单的 ipv6 多播 helloworld 示例 这是一个简单的客户端服务器示例 顺便说一句 在网络上的多台计算机上运行它将使所有计算机相互