java中的多播

2024-04-01

我正在尝试编写一个简单的多播试验。

我使用了标准代码(发送者和接收者)。

我尝试了一些不同的标准代码。看来接收代码停留在接收状态(就好像没有接收到任何东西一样)。

接收端:

        byte[] b = new byte[3];
    DatagramPacket dgram = new DatagramPacket(b, b.length);
    MulticastSocket socket =
      new MulticastSocket(4545); // must bind receive side
    socket.joinGroup(InetAddress.getByName("226.100.100.125"));

    while(true) {
      socket.receive(dgram); // blocks until a datagram is received
      System.err.println("Received " + dgram.getLength() +
        " bytes from " + dgram.getAddress());
      dgram.setLength(b.length); // must reset length field!
    }

发送方:

      DatagramSocket socket = new DatagramSocket();

  byte[] b = new byte[]{(byte)1,(byte)5,(byte)3};
  DatagramPacket dgram;

  dgram = new DatagramPacket(b, b.length,
    InetAddress.getByName("226.100.100.125"), 4545);

  System.err.println("Sending " + b.length + " bytes to " +
    dgram.getAddress() + ':' + dgram.getPort());
  while(true) {
    System.err.print(".");
    socket.send(dgram);
    Thread.sleep(1000);
  }

我的代码有什么问题吗? *我也尝试了很多不同的IP*

谢谢您的帮助。


尝试从同一 IP 接收但发送到本地主机。如果这有效,那么问题出在您的路由器上,因为它不支持多播。如果这仍然不起作用,那么就是 IP 地址的问题。尝试 233.x.x.x - 239.x.x.x 范围内的内容。

我在我的计算机上运行了您的代码,它按原样工作正常,如果我将发送地址更改为本地主机,它也可以工作。听起来这是您的路由器的问题,而不是您的代码的问题。

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

java中的多播 的相关文章

随机推荐

  • Sonar 5.1 问题列表 - 如何按问题类型分组

    我们如何识别当前代码库中项目中最常见的问题类型 我们最近从 Sonar 4 5 升级到 5 1 在4 5中 我们曾经查看特定项目中的问题列表 并且问题按问题类型分组 例如 在一个项目中 规则 使用记录器记录此异常 可能是最常见的关键规则 有
  • 如何检查mysql中的二进制字符串是否为UTF-8?

    我找到了一个 Perl 正则表达式 可以检查字符串是否为 UTF 8 正则表达式来自w3c site http www w3 org International questions qa forms utf 8 en php field m
  • matplotlib 中的等高线图显示不正确的线型

    我正在使用轮廓图在 matplotlib 中绘制一个具有正值和负值的二维矩阵 它应该显示正值的实线和负值的虚线 loc matplotlib ticker MaxNLocator 20 Z psi lvls loc tick values
  • 在SSIS中使用执行进程任务和WinSCP进行SFTP传输

    我有一个User file txt文件放置在 WinSCP 根文件夹 USERDATA 中 我正在尝试将其下载到给定位置C User Local Executable C Program Files x86 WinSCP WinSCP ex
  • React 组件安装两次

    在我的 React Redux ReactRouterV4 应用程序的一小部分中 我有以下组件层次结构 Exhibit Parent ExhibitOne ExhibitTwo ExhibitThree 在 Exhibit 的子级中 还可以
  • 使用远程执行配置程序时,当 instance_count 大于 2 时,Terraform 会卡住

    我正在尝试使用 null resource 通过 Terraform 的远程执行配置程序来配置多个 Windows EC2 实例 terraform v Terraform v0 12 6 provider aws v2 23 0 prov
  • 如何使用 WriteEndElement 检查元素的名称

    我正在写 xmlXmlWriter http msdn microsoft com en gb library system xml xmlwriter aspx 我的代码有很多这样的部分 xml WriteStartElement pay
  • Kafka Consumer Group Id 和消费者重新平衡问题

    我正在使用卡夫卡0 10 0和动物园管理员3 4 6在我的生产服务器中 我有 20 个主题 每个主题大约有 50 个分区 我总共有 100 个消费者 每个消费者订阅了不同的主题和分区 所有消费者都具有相同的 groupId 那么 如果针对特
  • Final 字段和匿名类

    我仍然对有关匿名类和最终字段的解释不满意 有大量问题试图解释明显的问题 但我还没有找到所有问题的答案 假设以下代码 public void method final int i int j final int z 6 final int x
  • 如何在 SearchView/Widget 调用的搜索过程中传递额外的变量?

    我成功地使用操作栏中的搜索小部件来执行以下搜索本指南 http developer android com guide topics search search dialog html 搜索很好 但我想知道如何在搜索中传递其他变量 同一个指
  • PHP 中的类未注册错误

    我们创建了一个 C 类库程序集 并将其设置为 COM 可见 以便能够从 PHP 调用其方法 这曾经运行良好 但现在我们想将其安装在 Windows Server 2008 服务器上 并且不断遇到 类未注册 错误 为了排除任何依赖性问题 我用
  • 有没有一种简单的方法可以用 Pygame 制作和保存动画?

    我制作了一个非常简单的分形生成器 可以打印出每个步骤 我想把它放在我所做的演示中 我用来制作演示的工具显然不支持 pygame 有什么方法可以将其保存为视频吗 最好是动画 gif 等 http visvis googlecode com h
  • 让 CMake 将生成的二进制文件与资产一起放入特定的目录结构中

    我的项目的目录结构基本如下 root src 根 资产 根 库 我目前已将 CMake 设置为编译源代码 编译库 然后通过从根目录调用 make 来链接它们 然后 我必须手动将可执行文件移动到原始资产目 录中以使其运行 因为这是它期望的位置
  • params.getBehaviour() 返回空值

    我正在玩新的 Android 设计库 CollapsingToolbarLayout 工作得很好 但是 我无法将工具栏的默认状态设置为 折叠 我正在尝试实施所示的解决方案here https stackoverflow com questi
  • 无法确定表达式错误的序列化信息

    我得到一个Unable to determine the serialization information for the expression PlaceManager pm gt pm FreePlaces get Item inde
  • 在 Jetty WebAppContext 之间实现 SSO

    我正在开发的 Jetty 9 应用程序会自动扫描一组 JarFiles 中的 web xml 然后以编程方式将包含的 Web 应用程序导入为 WebAppContext 我需要在各个 Web 应用程序之间实现单点登录 如以下 Jetty 6
  • 在Java中编码base64并在C#中解码

    我在java和c 之间遇到了base64问题 我从java urlconnection发送编码字符串到asp net处理程序 我比较两个字符串 在java中从字节数组生成的字符串和在asp net第一次解码中接收的字符串相同 但解码后 c
  • 从套接字到套接字的零分配复制

    假设我们有一个套接字连接 我们称其为c1 我们接受消息的地方 我们还有 N 个其他套接字连接 我们将写入完全相同的消息 为了确定我们希望它写入哪个连接 我们只需要读取其中的前几个字节c1 但是套接字上剩余的字节不需要加载到java堆中 只需
  • Javascript 解密 aes-gcm 不起作用,但在 Python 中它可以工作

    我想将一个小型 python 库移植到 JavaScript 在 Node JS 中运行 我收到一条加密消息 初始化向量和密钥 在 python3 中 这些是导入 from cryptography hazmat primitives ci
  • java中的多播

    我正在尝试编写一个简单的多播试验 我使用了标准代码 发送者和接收者 我尝试了一些不同的标准代码 看来接收代码停留在接收状态 就好像没有接收到任何东西一样 接收端 byte b new byte 3 DatagramPacket dgram