问题标签 [unicast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
71 浏览

java - 为什么传出的 Netty UDP Channel 会自动关闭?

我正在实现一些 Java 代码,这意味着向远程主机发送周期性(1 秒周期)心跳消息。心跳作为 UDP 单播消息发送到远程主机。我使用的是旧版本的 Netty (3.5.0.Final),因为旧代码库升级 Netty 版本会导致依赖冲突。发送的第一个心跳消息是成功的(通过在发送主机上运行tcpdump来验证),但是在第一个之后发送的所有其他心跳消息都没有被发送。

我的调试工作表明,在发送第一条消息后不久,我打开以发送消息的 Channel 对象正在将状态更改为 isOpen()=false 和 isConnected()=false,并且所有进一步尝试调用其write方法的尝试都在一个ClosedChannelException。我不明白为什么频道会自动关闭。需要做什么才能保持打开状态以发送多条消息?

创建和连接发送 Channel 对象的代码如下所示:

我注意到这个问题的另一个特点。用于接收心跳消息的远程主机上有一个软件,运行时会打开一个 UDP 接收器来接收心跳消息。如果我在远程主机上运行该软件,然后在心跳发送器上运行 Java 软件,远程主机将按预期收到周期性的心跳消息。但是,如果我在心跳发送器上运行 Java 软件,而接收器上的软件没有运行(接收器主机仍在运行,只是软件没有运行),那么tcpdump只报告一条发送到远程主机的消息。所以看起来ClosedChannelException如果接收主机运行软件来接收消息,则不会发生,但为什么呢?如果 UDP 是无连接协议,它不应该能够在不需要远程主机接收消息的情况下发送消息吗?

0 投票
0 回答
148 浏览

ios - 如何使用 iOS 的网络框架接收 UDP 组播和单播

我一直在开发 Smart House 应用程序,这些应用程序需要使用 CocoaAsyncSocket 在 iOS 上使用 Swift 进行单播和多播的 UDP 通信。我想使用网络框架而不是 CocoaAsyncSocket。

我制作了以下试验程序,在“224.0.23.0”处使用单播和多播在 3610 端口接收 UDP。

使用这个程序,我在接收多播和单播时遇到问题。该程序可以处理接收组播,但不能处理单播。当我在 init() 中注释掉“receiveMulticast()”时,该程序可以处理接收单播。我需要处理在 3610 端口接收多播和单播。

有什么建议吗?

========================================

0 投票
0 回答
46 浏览

java - Spring Boot MVC 中 SSE 上的单播消息

我有一个用例,我需要向 Android 或 IOS 客户端发送推送通知。通知事件应该是单播的。每条消息仅与单个客户端相关。

我怎样才能做到这一点?我以前使用如下代码向多个客户端广播事件。我想通过 SSE 向事件特定订阅者发送通知。

PS 我正在使用这种方法来保存 SSEEmitters 的地图。

SSE Emitter:管理超时和完成()

我会正确测试并在这里更新

0 投票
0 回答
31 浏览

cooja - Contiki NG/Cooja - 无根节点的非 RPL 模拟

我们能否在 Contiki-NG / Cooja 中模拟一个非 RPL 传感器网络,其中每个节点都可以直接与任何其他节点通信,而无需通过任何根节点?