草庐IT

javascript - chrome.socket 如何用于广播或多播?

我想创建一个仅用于LAN的Chrome打包应用程序,其中一个实例用作服务器(session主机),其他实例必须发现服务器并加入session。这可以用chrome.socket实现吗??我是这样设置服务器的:varsocket=chrome.socket||chrome.experimental.socket;socket.create('udp',{},function(createInfo){varpublish_socket=createInfo.socketId;socket.bind(publish_socket,'225.0.0.42',42424,function(res

去和多播(特别是 ospf)

我正尝试按如下方式收听OSPFv2Hello消息:ens192,err:=net.InterfaceByName("ens192")iferr!=nil{returnerr}c,err:=net.ListenPacket("ip4:89","0.0.0.0")//ipv4proto89,alllocalinterfacesiferr!=nil{returnerr}deferc.Close()p:=ipv4.NewPacketConn(c)iferr!=nil{returnerr}allSPFRouters:=net.ParseIP("224.0.0.5")iferr:=p.JoinGr

c++ - 多播基础 - 丢失数据

如果您的应用程序不处理,它是读取组播数据的基本原则吗?下一个数据报先于另一个数据报进来第一个本质上是覆盖?我做了一些实验,增加receive_buffer大小没有效果关于我所描述的。换句话说,Windows操作系统或NIC卡软件似乎没有对多播数据报进行低级排队。我的理解正确吗?或者是否有一些套接字选项或控件可以帮助解决这个问题? 最佳答案 WindowsXP有一个8KB的默认套接字缓冲区,Vista和更高版本有一个64KB的默认套接字缓冲区。您可以使用SO_RCVBUF覆盖它,建议永远不要设置为0,这与使用IOCP时用于零拷贝的SO

windows - 如何从 Windows 接收 MPEG-TS 多播

我们目前有一个系统,该系统将实时视频编码为MPEG-TS多播流,由带机顶盒的电视接收。除了电视,我们还想将视频嵌入到我们的Windows应用程序中。我知道VLC会接收流,但我更喜欢一种可以嵌入现有应用程序而无需玩窗口移动游戏的解决方案,以及一种没有许可问题的解决方案。我意识到这可能意味着我没有在寻找免费的解决方案,这很好,在合理范围内。有人知道这方面的好产品吗?要么是易于使用的东西,要么是WMP的插件。 最佳答案 您需要开发一个简单的DirectShow过滤器,它在给定端口上监听并传递它收到的每个数据包。我手边没有示例,但它真的很简

java - 为什么 java 多播接收器无法在 Windows XP 上接收数据包?

我在java中有一个MulticastReceiver和MulticastSender,IP为224.2.2.3,端口为8888。当我在WindowsXP上运行接收器时,我无法接收数据包。我所有的Linux接收器都按预期接收数据包。当我的发件人在Windows上时,一切都很好。我已经关闭了XP上的防火墙。我已将接口(interface)绑定(bind)到我希望数据包到达的套接字。我的所有机器都在同一个网络上。还有什么需要调整的吗? 最佳答案 如果您的接收器有多个网卡(例如安装了VirtualBox),请降低第二个以太网卡的优先级。S

c++ - 多播在 Windows Vista 上不工作

虽然我尝试在winXP中将某些内容多播到IP范围,但它工作正常,但当我在WinVIsta上运行相同的应用程序时,我无法进行多播。我是否需要为WinVitsa配置或添加发布者信息?编辑:structsockaddr_instaddr;memset(&staddr,0,sizeof(structsockaddr_in));staddr.sin_family=AF_INET;staddr.sin_port=htons(SSDP_PORT);//Usethefirstfreeportstaddr.sin_addr.s_addr=inet_addr(SSDP_MULTICAST_ADDRESS)

windows - Windows 上通过 QUdpSocket 的链路本地多播

我正在尝试使用链路本地多播发送UDP报文。我正在使用提供QUdpSocket的Qt。我能够在Linux上执行此操作,但无法让代码在Windows上运行。我的第一个代码是这样的:udp.writeDatagram(QByteArray("helloworld"),QHostAddress("FF02::1"),4321);它适用于Linux但不适用于Windows。我什至尝试以管理员权限运行该应用程序。writeDatagram()返回两个系统上电报的大小。我找到的唯一建议是在特定网络接口(interface)上发送电报。我的这种方法代码:foreach(constQHostAddres

java - 如何使用机器本身作为访问点从 Windows 机器进行多播?

我已经编写了一个基本代码,使用这个link在Java中从Windows机器多播UDP数据包。.接收器是几部安卓手机,它们运行同一链接中给出的接收器代码。这是发件人代码:intmcPort=4446;StringmcIPStr="225.4.5.6";InetAddressgroup=InetAddress.getByName(mcIPStr);DatagramSocketudpSocket=newDatagramSocket();byte[]c="SENT".getBytes();DatagramPacketpacket=newDatagramPacket(c,c.length,gro

windows - 如何为 NDIS 虚拟微型端口驱动程序设置和查询多播地址?

我想在虚拟微型端口驱动程序上添加多播支持。我有一个过滤驱动程序绑定(bind)到每个物理NIC上。根据微软文档https://msdn.microsoft.com/en-us/library/windows/hardware/ff569073(v=vs.85).aspx我开始添加支持多播地址:这些是我的步骤:在微型端口驱动程序中:在微型端口初始化期间,我在NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES中添加了MaxMulticastListSize=32。NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTESMiniportA

windows - 在多宿主 Windows PC 上接收多播消息

我正在基于multicast/udp在具有多个网络接口(interface)的PC上开发诊断工具。用户可以选择一个NIC,应用程序创建套接字,将它们绑定(bind)到这个NIC并将它们添加到特定的多播组。多播消息的发送工作正常。但是,只有当我将套接字绑定(bind)到我PC的特定NIC时,消息接收才会成功。它几乎看起来像是在Windows中有一个用于接收多播消息的“默认”NIC,它始终是GetAdapterInfo函数返回的第一个NIC。我用Wireshark监控网络,发现“IGMPJoinGroup”消息不是从我绑定(bind)套接字的NIC发送的,而是由这个“默认”NIC发送的。如