问题标签 [multicast]

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 投票
4 回答
490 浏览

c++ - 是否可以在 IIS 托管的 C++ 应用程序中启动自定义线程?

我们在 IIS 中托管了一个基于 C++ 的 WebServices 应用程序,我们发现当我们尝试启动自己的 C++ 线程时,IIS 会出现故障并崩溃。这些线程是基于 boost.thread 的,它清楚地传递到下面的标准 Windows 线程 API。

我需要启动线程的原因是监听来自我们的中间层服务器的多播,以保持本地缓存的最新状态。没有为我们编写另一个流程来倾听我们,我不知道我还能做什么。

所以问题是,这应该工作吗?用 IIS 做这种事情有固有的限制吗?

0 投票
1 回答
320 浏览

c++ - 是否有一种“好”的方法来处理来自多个来源的重新组装多播?

我目前正在修改我们现有的专有套接字包装器代码以使用 boost asio,以便它可以为我们完成一些繁重的工作。也许我们现有代码中最复杂的部分是多播处理代码。该代码允许我们的中间层服务器(在一个系统中可以有多个)向客户端发送多播,客户端使用这些向系统用户提供更新。

代码复杂且容易出错的原因是它使用许多原始缓冲区来根据多播流的来源重新组装多播流。似乎即使使用 Boost.Asio 我也将不得不处理同样的问题,所以在我陷入困境之前,我认为值得问问其他人是如何处理这种情况的。

这似乎是一个非常常见的用例。没有我现在拥有的那种代码,有什么东西可以帮助我完成这项工作吗?或者是否有一个既定的 C++ 模板(Boost 或其他)可以做这种工作?

显然,我可以让事情变得更轻松,并使用 STL 容器来缓冲数据包而不是原始数组,但是这段代码需要非常高性能。在大型安装中,有大量的数据包飞来飞去,它需要尽可能接近实时地响应。

提前感谢您对此事的任何想法。

杰米

0 投票
2 回答
743 浏览

geolocation - 将多播传送到几个不同的地理位置

我需要在应用程序中使用一个基于逻辑 PGM 的多播地址,同时启用这样的应用程序“无缝”运行在几个不同的地理位置(例如美国/欧洲/澳大利亚)。

应用程序的吞吐量很大(每天有几百万条商业消息)和延迟要求很高,需要大量小但非常频繁地发送消息。由于某些外部延迟限制,Classic Atom pub 无法在此处工作。

我想出了几个连接这些数据中心的选项,但找不到最好的一个。我考虑过的选项是:1)通过VPN转发多播消息(VPN可以处理这么大的负载)。2) 将所有多播消息转换为“包装消息”并通过 AMQP 转发。3) 编写专门的内部网关,通过 TCP 将多播消息传送到其他两个位置。4)任何其他解决方案

我更喜欢选项 1,因为它不需要开发人员编写额外的代码。但恐怕它不会是可靠的连接。

申请此类连接是否有任何规则?

对于上述限制,关于地理配置的最佳网络配置是什么。

0 投票
3 回答
11734 浏览

c# - 如何多播使用 DirectShow 捕获的流?

我需要构建一个非常简单的流服务器。它需要能够从设备捕获视频,然后通过多播将该视频流式传输到 LAN 上的多个客户端。

由于有人用 DirectShow.Net ( http://www.codeproject.com/KB/directx/directxcapture.aspx )编写的库,这部分的捕获非常容易(在 C# 中)。

我现在的问题是如何多播这个?这是我坚持的部分。我不确定下一步该做什么,或采取什么步骤。

0 投票
2 回答
46430 浏览

c++ - 如何在存在 2 个网卡的情况下为 UDP 多播设置套接字?

我正在尝试使用套接字和 c++ (c) 获取 udp 多播数据。我有一个带有 2 个网卡的服务器,所以我需要将套接字绑定到特定的接口。目前我正在另一台只有一个网卡的服务器上进行测试。

当我使用 INADDR_ANY 时,我可以看到 udp 数据,当我绑定到特定接口时,我看不到任何数据。函数 inet_addr 没有失败(我现在删除了对返回值的检查)。

代码如下。在有一个网卡的服务器上,我的 IP 地址是 10.81.128.44。我运行时收到数据:./client 225.0.0.37 12346

这没有给我任何数据:./client 225.0.0.37 12346 10.81.128.44

有什么建议么?(希望代码编译,我删除了评论......)

提前致谢 ...

0 投票
1 回答
3524 浏览

c# - 在 XP 上使用多播的 C# SocketException

以下 C# 代码在 Vista 上正常工作,但在 XP 上失败:

SocketException:提供了无效的参数。

错误代码为 10022。

XP 上的防火墙已被禁用。

有任何想法吗?

0 投票
3 回答
5351 浏览

networking - 如何修改多播 TCP/IP 数据包的 TTL?

我支持发送 TTL 为 1 的多播数据包的第 3 方应用程序。我们无法修改应用程序,但需要更高的 TTL 才能将数据包路由到另一个客户的网络。是否有网络设备或 windows (server 2003) 应用程序可以让我修改它?

在这种情况下,有没有更好的方法来连接发送方和接收方?

0 投票
1 回答
2366 浏览

java - 为什么我的 java 程序会发送 TTL 为 1 的多播数据包?

我有一个 java 客户端程序,它使用 mdns 和服务发现来查找其关联的服务器。在使用 Windows、Fedora 10 和 Ubuntu 8.10 在单一网络上进行大量测试后,我们向客户交付了一个测试版本。他们报告客户端和服务器从不连接。他们向我们发送了一个 wireshark 捕获,显示 mdns 数据包的 TTL 为 1,即使我们的代码将其设置为 32。当我们在本地测试时,TTL 为 32,就像我们设置的一样。客户正在使用 Redhat Enterprise 5。

我看到Java Multicast Time To Live 始终为 0,但这让我很好奇为什么那个提问者的 TTL 为 0,而我的是 1。

0 投票
4 回答
5878 浏览

.net - .Net 中的多播支持

为了实现一个使用多播向网络中的其他进程发送小的周期性消息的网络应用程序,对于在 .Net 框架中使用 API,我有哪些选择?除了我当前明显的选择 System.net.sockets API 之外,WCF 是否提供了一种更简单的方法?还是 WCF 纯粹是一种基于 SOA 的点对点 IPC 机制?

注意:我非常熟悉多播编程的实现细节。我感兴趣的是 .Net 框架提供的其他选择。

0 投票
2 回答
1638 浏览

winsock - Winsock 上的实用通用组播

有没有人在 Windows 上使用 Winsock(不是 MSMQ)级别的 PGM 的经验?它看起来像一个有用的可靠多播协议(la TIBCO Rendezvous),我认为如果在基于本地完成端口的 I/O 上运行,它可以使这样的东西真正飞起来。

我已经在 C++ 级别上涉足它,通过编写一些 boost::asio 支持并通过 SocketAsyncEventArgs 在 C# 中运行它,但可惜我微薄的家庭办公室设置缺乏真正的 LAN 来正确测试它,我想知道是否有人花时间在上面并有任何观察?