UDP组播实现问题,求教大神~ [问题点数:20分,无满意结帖,结帖人hfjcloud]

Bbs1
本版专家分:20
结帖率 50%
Bbs7
本版专家分:18112
Bbs1
本版专家分:20
其他相关推荐
课堂/会议同屏教学解决方案之RTSP/RTP over UDP组播解决方案
问题在之前的博客《EasyIPCamera实现Windows PC桌面、安卓Android桌面同屏直播,助力无纸化会议系统》我们描述了一套基于EasyIPCamera的同屏功能,但是这个可以说只是一个功能实现,并不能用于实际的现场应用,因为再强的流媒体服务器,单播转发都会存在不同步或者延时的问题,更何况当EasyIPCamera终端处于一个平板或者安卓设备的时候,单播效果可想一般! 对于课堂类、会
UDP组播的实现
os:花了一周时间实现了UDP协议下的组播程序,上面是网上给出的一般组播实现的架构。2~4是针对socketopt即socket属性的设置;TTL设置超时时间即每次发送数据之间的间隔,必须有,但不一定用soketopt实现,下文会细说。LOOP是设置回环,一开始不明白什么意思,之后看师兄做了测试,如果不开启回环则发送的机器将不会接收到自己发送的数据。(LOOP默认开启)ADD是加入多播组,这一步很
Linux之UDP组播示例——双向通信
//a.c 先发数据后等待接收,b.c 先等待接收数据后发送数据   // a.c #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #include <st...
linux下c++实现udp组播模式
组播:发送的信息,小组内所有成员都能同时接受到。 组播发送端跟接收端的具体流程为: 发送方: a.创建socket b.设置发送的群组的地址 c.发送,调用sendto()函数 在调用
c# UDP组播的发送和接收(使用socket 类)
使用socket类实现c# UDP组播的发送和接收 ;可以指定专门网卡接收消息;
MFC中用Asyncsocket类实现udp组播
结果: 简单的实现了udp的组播,可以发送,接收消息。 过程: 由Asyncsocket派生一个类出来,重载Onsend和Onreceive; 窗口类里创建一个socket,这里create的第一个参数一定是组播的端口,千万能搞错。 创建的socket加入组播,还可以利用setsocketopt()设置其他属性;此时可以接收信息(可以在onreceive里面进行信息处理) 添加发送按钮
udp组播试验-C语言
example.c #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <bits/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <string.h> #include <unistd.
C#实现UDP组播
[csharp] view plain copy print? using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.Net;  using System.Net.Sockets;  using System.Thr
UDP 组播 实例
http://blog.csdn.net/yanyuanfen2011/article/details/16888801 最近一直在做linux的网络,现在作个总结,陆续贴出来。 在网上搜了很多资料 ,其中周立发的博客对我的学习参考作用最大,谢谢前辈。 直接上代码吧,一个很简单udp 组播通信的例子,分别为服务器端和客户端的代码。 1、服务器端代码 (multi
Linux网络编程 之 UDP 组播实例
一个很简单udp 组播通信的例子,分别为服务器端和客户端的代码。 1、服务器端代码 (multi_udp_server.c) [objc] view plaincopyprint? #include    #include    #include    #include    #include    #include    #includ
通过python下的socket实现组播数据的发送和接收
关于网络组播的解释我不在此详述了,想了解的直接百娘就可以了,本人也是新手,研究了几天Python的组播编程后,目前终于成功的解决了自己找的各种麻烦,所以现在总结如下: python实现socket组播有N种写法,我现在只给出自己认为比较妥当的写法。 数据发送 sender: import time import struct from socket import * SENDERIP =
udp组播加入退出的.c小例子
udp组播加入退出的小例子,c语言 udp组播加入退出的小例子,c语言 udp组播加入退出的小例子,c语言 udp组播加入退出的小例子,c语言
udp单播-广播-组播-python例子
example.c #!/usr/bin/python # -*- coding:utf-8 -*- import threading, sys, os, socket, time, struct, selectclass R(): def __init__(self): pass @staticmethod def exit(): os.sy
局域网发现之UDP组播
局域网发现 udp单播、组播、广播
Go1.9组播发送消息小实例
package mainimport ( "flag" "fmt" "net" "syscall" )var ( ttl int daemon bool port = 12389 multiaddr = [4]byte{224, 0, 1, 1} inaddr_any = [4]byte{0,
Netty的UDP及广播实现
Netty广播发送端
boost::asio指定网卡加入多播组
有两块网卡,要指定加入特定网卡的多播组。看了一下boost asio文档,例子中没有指定网卡: boost::asio::ip::udp::socket socket(io_service);  ... boost::asio::ip::address multicast_address = boost::asio::ip::address::from_string("225.0.
第三篇、vlc-android之UDP组播使用
vlc-android 非常的强大,目前我们主要是使用vlc来播送
接收udp组播信息的方法
1、使用recvfrom接收 SOCKET socket1; //InitWinsock(); WSADATA wsaData; int iErrorCode; if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL { printf("Winsock无
Android关于组播的问题
做到关于组播的问题时,明明手机发送电脑的java客户端能接收,但电脑发送的组播一直接收不了. 而手机自己发送的组播自己能接收....... 在网上找了很多资代码料,都说要Android为了省电把接收组播关了要手动打开 代码如下:   WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERV
UDP 组播---基本概念
                               本文章已收录于:                       先来了解下UDP UDP 是UserDatagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层
利用tcpdump解决无法收到组播的问题
项目上遇到一个这么的奇怪现象:一个包含有组播地址的对象,只能收到一次组播,不论这个组播是自己发送的还是别的客户端发送的,第二次变无法收到组播。 用tcpdump检查包发现这个对象不论发送多少次组播,底层协议栈只收到了一次组播包 注意第一行ubuntu.local.56752 > 239.0.0.5:12345,这是需要发送的组播地址与端口,从第一行以后再也没收到过相关的包了。 在这个发送
linux 下c语言同一组播地址udp通讯
欢迎使用Markdown编辑器写博客 UDP组播通讯可用 功能: 实现两台设备通过同一组播地址进行信息交互. 机器A 机器B 机器A发送指令,机器B接收指令 机器B回复一条报文 机器A 接收一条报文 机器A为发送方,客户端 机器B为接收端服务器端 发送端 Bind本地端口与IP,向组里发送数据,从本地接收数据。记得setsockopt加组与reuseaddr 机器B代码...
如何利用UDP组播实现海康网络摄像机(IPC)的自动探测【源码】【监控】【录播】【NVR】【ONVIF】
前言:    监控项目中,经常会遇到管理大量网络摄像机IPC的情况,如果每个IPC都要手动输入IP和端口,是非常繁琐的事情,于是,出现了与设备无关的ONVIF协议。海康提供的SADPTool就是基于ONVIF协议实现的,另外,还有 ONVIF Device Test Tool 官方的ONVIF协议测试工具。我们今天要实现的就是自己使用 VS2010 实现自己的ONVIF设备发现程序。    ONV...
UDP通讯接收案例(组播方式)
1.通讯类: namespace AddMyUtility {     public class UDPClientClass     {         public UDPClientClass(string groupIP, int Port, int timeOut)         {             _UdpClient = new UdpClient(Port)
labview UDP组播编程简介
udp&组播测试工具
udp&组播测试工具,含sourcecode
Linux 下UDP组播
Linux系统下UDP组播客户端程序如下: int init_multicast_socket(void) {  int err = -1;  struct ip_mreq mreq;  struct sockaddr_in recvAddr;   /* 建立socket连接*/  if((sockListen = socket(AF_INET, SOCK_D
求教!!UDP组播问题
一个java实现的UDP组播聊天程序 在局域网内的两台电脑上运行 结果对方无法接受自己发出的信息 rn是否和路由器配置有关? 求教!!!rn附上程序网址:http://www.cublog.cn/u1/35830/showart_538031.html
QT组播实现多人屏幕共享的程序
QT组播实现屏幕共享的程序:发送端(共享屏幕服务端) :1. 获取桌面图像 2. 编码成jpg 3. 用udp组播发出. 一张jpg大概100K, 每次传输4K字节, 需分成多次传输. 每次桌面图像编码成jpg, 图像大小是不固定的. 每张图像传输第一次时,发出"newImage:长度", QUdpSocket成功发出个部分数据后, waitForBytesWritten等待发出,完成后再发出下一
UDP(组播)调试工具
UDP通信,UDP组播调试助手源码。VS2010开发,C#语言编写。支持UDP通信接收与发送,UDP组播接收与发送功能,能够发送字符串和16进制数据
UDP单播、广播、多播
单播:就是我们常见的包含s端和c端的一对一方式,要c端向s端发生前要先明确指明s端的ip及port; 编程说明:略 广播:又叫分有限广播和和直接广播。 有限广播: 使用的地址是255.255.255.255,即向该ip的任何一个端口发生数据,数据将发生给该局域网内的所有主机的同一端口,因为广播地址(255.255.255.255)是不会被路由器路由的,智能到达本物理网络内的主机,这
QThead QUdpSocket多线程组播小例子
QThread多线程的使用方法有多种。 这里是一个简单的在多线程中建立组播的例子。 组播发送程序: QUdpSocket *socket=new QUdpSocket; while(1) { QThread::sleep(1); QString s=QTime::currentTime().toString();
多网卡收不到组播
工作中曾遇到一个很奇怪的问题,我奉命调查。事情是这样的,有一台双网卡的机器,上面装有Fedora8,运行一个程序。该程序分别在两个网口上都接收多播数据,程序运行是正常的。但是,后来升级系统到Fedora13,发现就出问题了:在运行几秒钟后,第2个网口上就接收不到多播数据了。     能不能收到多播,取决于交换机是不是往这个网口上转发多播数据。程序在起动的时候,会发一个IGMP的Add Mem
4高并发服务器:UDP局域网服务器(组播)
1 UDP局域网服务器 A 读出每一个客户端发送过来的数据包,然后fork出子进程,由子进程去处理客户端请求。 B 客户端与服务器段交换多个数据报,服务器为每一个客户端连接创建新的socket,在其上bind一个临时端口,然后用该socket处理对应客户端上的所有应答,这个办法要求在客户查看服务器第一个应答中的源端口号。然后后面利用此端口号和服务器进行交互。 2函
iOS 利用Socket UDP协议广播机制的实现
1.前言 什么是UDP协议广播机制? 举一个例, 例如在一群人群中,一个人要找张三,于是你向人群里大喊一声(广播):“谁是张三” 如果它是张三,它就会回应你,在网络中也是一样的。 UDP广播机制的应用场景: 若干个客户端,在局域网内(不知道IP的情况下) 需要在很多设备里需找特有的设备,比如服务器,抑或是某个打印机,传真机等。 假设我现在准备将服务
Android接收UDP TS流实现边缓存边播放
Android播放本地文件视频是硬解,这样对CPU
跨网段组播数据转发
最近在实际的项目中遇到了组播通信,其中最主要的问题是组播如何跨网络路由的问题,起初在网络找资料,找到了PIMD来实现组播数包的转发。 借助pimd也能实现组包数据包的转发。但是,pimd是个应用程序,如果组播数据平凡的话,会影响到系统的效率。同时考虑到实际的项目中,组播数据源和组播的接受者是 在同一个局域网之内,只要交换机支持组播,通过交换机将组播的发送者和接受者连接起来,之后通过更改驱动程序
QT UDP组播的实现
QT实现UDP的接收和发送,包括组播的加入和相关操作
组播(多播)的C程序实战
每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看到结果, 就不太舒服。 我感觉, 我偏向后者, 必须有一个结果作用于我, 我才有感触。
vlc支持udp/rtp组播播放
1.软件版本 1.0.32.设置流程首先媒体-->流-->文件    添加-->流-->下一步-->目标选rtp或者udp-->添加设置组播或者单播地址和端口-->设置转码选项--> 流然后打开同一网段的主机中的vlc选择设置的地址,跨网段在测试不同网段不能接受组播,可能和网关设置有关,待测试  
vlc使用udp组播方式发送ts流的特殊规则
当你写程序去接收vlc发送的ts流时,你会发现解析出来的一帧视频帧有时候解码会失败,追究其原因,是因为前4个字节不是0,0,0,1。 那为什么会这样呢? 这是因为vlc在处理大于65535字节的视频帧时,没有按照ISO标准来。 ISO标准的做法是将PES_packet_length置为0,如果要获取这帧真实的长度,得借助于payload_unit_start_indicator字段,因为它控...
UDP组播,基于CAsyncSocket实现
UDP组播例子,基于CAsyncSocket实现,里面有原理和设计文档
多播、组播、广播优缺点分析
单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在? 1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络
基于UDP实现的android局域网视频同步播放
前段时间给公司的项目实现了一个局域网视频同步播放的功能,最近稍微空闲一些,所以稍微整理下,分享给大家学习下,文末附有下载地址。 一.概述实现局域网视频同步播放,首先需要这些设备都有相同的文件,大家同时去播放相同的文件就可以了。所以我们选定一台设备作为主机,将自己当前播放的视频文件 以及进度告诉给其他设备,其他设备收到消息后去播放这个视频,并且seek到指定的进度位置。在实现之前先科普下U
组播的时候到底该如何绑定网卡
以前在代码中,遇到组播都是一直绑定0.0.0.0然后去把自己加入到组播组里面去。但是最近的一次改动却让我发现了一个问题。 因为在显示的环境中机器上会有很多网卡(>3)。 而我们指向接收其中一个子网中的组播中的数据,那么很明显的想法就是接收端绑定相应子网的IP。在windows环境中,我们绑定了机器上该子网的IP(例如:172.16.20.40)。实际测试的发现一切良好。然后在Linux环境中
从ffmpeg中抽取出来的udp组播接收程序
前言 代码抽取方法: 1. 跟踪并复制    跟踪要抽取代码的主要流程, 将主流程相关的,函数层次不是很深的代码原样复制到新的工程中;    函数调用层次很复杂的函数可以先只留下函数接口,将函数体的内容全部注释掉。 2. 编译    编译新的工程,一个一个解决编译提示的警告和出错信息。 3. 调试    使用调试工具,同步调试原工程和新工程,将新工程注释掉函数体的函数补全。 4.
UDP组播通信实现
UDP通信设计: 以代码模块的形式描述UDP组播通信的实现步骤。    #define GRUPOIP "233.8.8.8" #define A_PORT     9000 #define B_PORT     8000 #define LOCAL_IP "127.0.0.1" ====================================================
解决接收不到组播包的问题
目前用的集群是在应用层实现的,主要功能是实现在机器之间互转请求。今天在部署的时候,发现请求没有在节点之间互转,相同的请求发送一次后miss,第二次发送的时候还是miss。正常来说,第一次miss后会在集群内缓存一份,之后再有关于这个文件的请求不管发送到哪个机器都应该是hit的。 集群之间的探活用的是组播消息,出现这种问题肯定是因为接收组播报文出了问题。之前用的时候都没有问题,所以先从环境入手来查
linux 下实现组播通讯简单实例
linux 下实现组播通讯简单实例,在局域网内测试通过
Qt UDP组播的应用
最近学习了组播的应用。组播传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它能提高了效率。减少了骨干网络出现拥塞的可能性。         因为最近在看视频传输,对于一个客户端的视频,如果通过组播的方式传输给其他端,那么对于传输效率和处理速度是有非常大的帮助的,所以组播在一些特定领域起到了很大的帮助。      
五、Android局域网多播(组播)
多播 组播使用UDP对一定范围内的地址发送相同的一组Packet,即一次可以向多个接受者发出信息,其与单播的主要区别是地址的形式。IP协议分配了一定范围的地址空间给多播(多播只能使用这个范围内的IP),IPv4中组播地址范围为224.0.0.0到239.255.255.255 发送端package com.turing.mobilecontrol;import java.io.IOExcepti
linux 接收udp组播数据包后反馈链路层数据
这个是借鉴了网上代码,然后自己总结了一下
Vxworks下UDP收发与组播收发例程源码
Vxworks下UDP收发与组播收发例程源码,也可用于Linux或者其它平台。
STM32F4板子使用LWIP进行组播收发数据的完整过程,附代码
本文详细介绍了在STM32F4板卡,使用DP83848网卡,使用LWIP协议实现组播接收和发送的完整方法。并源代码。
组播和广播的区别
广播: 主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的
Qt使用UDP搜索同一个网段上一个组播的多个服务器数据和QUdpSocket的使用经验
今天在工作工作中遇到的问题时网络连接的问题,普通的客户端网络连接用Qt实现很简单,就是新建一个QTcoSocket/QUdpSocket,然后输入端口号和ip地址,建立三个信号和槽(连接、断开、读取)实现对应的槽函数即可。但是今天遇到的问题要求是在同一个网络里面有好的服务器,而且每一个服务器发送的UDP的IP地址和端口号相同,唯一识别它们不同的地方在于连接上UDP后发送的数据里面有TCP的地址,每一
UDP单播和组播使用SO_REUSEADDR 测试结果
UDP单播通信一、预置条件 A、B在同一台机器,网络中存在往A、B所在的机器的8888端口发送单播UDP数据 A:端口复用绑定在端口8888上 B:端口复用绑定在端口8888上操作步骤:(1)先启动A(2)再启动B(3)B退出预期结果:(1)A 正常接收数据(2)B 正常接收数据,A收不到数据(3)A 正常接收数据二、预置条件 A、B在同一台机器,网络中存在往A、B所在的机器的8888端口发送单播
Boost官方 UDP的组播教程实例
定时Send // // sender.cpp // ~~~~~~~~~~ // // Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompany
Netty in Action (二十四) 第十三章节 UDP的广播事件
本章内容包括: 1)UDP的总览 2)广播应用的一个简单示例
关闭
关闭