草庐IT

UDP广播的实现

一、广播的概念广播:由一台主机向该主机所在子网内的所有主机发送数据的方式。      任何一个网段最后一个地址就是广播的地址例如:192.168.5.103主机发送广播信息,那么,广播地址为192.168.5.255则192.168.5.1~192.168.5.254所有主机都可以接收到数据。广播的MAC地址:ff.ff.ff.ff.ff.ff注意:广播只能用UDP或原始IP实现,不能用TCP。1.1、广播用途  单个服务器与多个服务器主机通信时减少分组流通。以下几个协议都用到广播:(1)地址解析协议(ARP)     通过IP,获取对方的MAC地址(2)动态主机配置协议(DHCP)     

Android 从 VLC/ffmpeg 接收 RTP/UDP 音频流

我找了半天的好答案,但我是这方面的初学者,如果有任何帮助,我将不胜感激。我想要实现的是在ffmpeg或vlc中流式传输音频(mp3文件)并通过udp/rtp在Android设备上接收它。到目前为止,这是我自己能够弄清楚的:1)有Android类AudioStream和RTPStream。我不知道的是如何使用它。例如,我通过ffmpeg创建一个流:ffmpeg-re-imymp3.mp3-ar8000-acodeccopy-frtprtp://192.168.0.100:5533,其中192.168。0.100是我的Android设备的地址。现在我想收到它并播放它。我在Stack上发现了

android - 如何在 Android 中使用 UDP 接收数据?

我使用以下代码从特定端口接收数据。它不适用于Android。但是将数据发送到特定端口工作正常。publicclassUDPDemoextendsActivity{privateTextViewtv;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);tv=(TextView)findViewById(R.id.recv_message);try{DatagramSocketclientsocket=ne

android - UDP 数据包(通过 WiFi Direct)永远不会到达

那些阅读过我之前的问题的人可能已经知道这一点:我目前正试图掌握整个WiFiDirect的东西。到目前为止我所做的是创建连接。我想做的是通过UDP向groupOwner发送一个数据包(当然IP是已知的)——但它似乎每次都在途中丢失..这是我的一些代码,我有一个用于接收文件的服务和一个用于在后台提交文件的intentservice:FileReceiverService.java@Overridepublicvoidrun(){Log.d(TAG,"Threadstarting...");try{app.log("OpeningUDPsockettoreceivefiles.");Data

Android 通过 udp 发送 mpegts 流

我想在我的android应用程序中通过udp接收mpegts。为此,我正在使用gstreamer。现在,我正在尝试通过udp从同一台计算机的vlc播放器发送mpegts流。在我的android应用程序中,我提供了uriudp://10.0.2.2:1234但应用程序给出错误Couldnotget/setsettingsfrom/onresource。我曾尝试从互联网上获取解决方案,但到目前为止没有成功。 最佳答案 1)UDP地址范围是224.0.0.0到239.255.255.255,所以不能使用10.x.x.x2)地址处理后,引用

java - Android 设备(galaxy note 2 除外)无法获取 UDP 数据包

我正在开发一个客户端服务器应用程序,其中服务器(用Java编写的桌面程序)通过UDP将屏幕截图发送到同一无线网络中的我的android设备。当然,由于数据报大小大于udp标准大小(65K),我正在创建它们的切片并使用UDP循环发送到我的android设备。我的问题是它在SamsungGalaxyNote2(android4.2.2)上完美运行,但在其他android设备上不起作用(即使是运行相同android版本的设备对于exgalaxytab3,galaxyNote1)。代码卡在socket.receive(datagram)上,甚至没有接收到单个数据包。有人可以帮我解决这个问题吗?

java - android UDP 不可靠性

我在使用Android时遇到极度UDP数据包丢失,这没有任何意义。情况如下:PCrunningjavaclientconnectedtohomenetworkPhonerunningjavaserver(android)connectedtohomenetworkHomerouterisabrandnewWRT1900ac.Networkhasinternetconnectivity.UDPpacketsaresmall(症状:IfPCsendsUDPpackettoanotherPC(bothonsamenetwork)itworksverywell(almostnopacketsl

android - 为什么我们不能从 Android 模拟器发送 UDP 数据包?

我和我的friend有一只无线机器狗连接到wifi网络我们的计算机插入其中。计算机正在运行Android模拟器,我们正在尝试将UDP数据包发送到无线机器狗。如果狗收到它,它应该开始发送UDP数据包返回。我们编写的程序在模拟器之外工作,并使用Wireshark,我们看到数据包被发送到正确的IP地址和机器人的正确MAC地址。当我们试图从模拟器发包,狗不回应怎么办如果它收到数据包应该。在Wireshark中我们可以看到模拟器将数据包发送到狗的正确IP地址,但是不是正确的MAC地址。它将它发送到MAC地址我们插入的路由器。我们要指定数据包,以便它发送到正确的MAC地址,但我们不知道该怎么做这个

Android 通过 UDP 发送字符串

(旧帖)我正在尝试使用一种方法在Android设备(不是模拟器)上通过UDP发送字符串但应用程序不起作用,我不知道为什么..也许有人有想法。在AndroidManifest中设置了互联网权限。提前致谢!(新帖)好的代码正在运行,但我不太确定静态变量是最好的还是唯一的将变量提供给线程的方法。它只是我所知道的唯一解决方案。有没有更专业的方法将变量传递给线程方法?(PS:这真是最好的论坛)新的工作代码如下:packagecom.example.androidudp_client;importjava.io.IOException;importjava.io.PrintWriter;impor

android - 通过 udp ://on android 显示来自 mpegts 流的 h264 视频

在android上通过udp://显示来自mpegts流的h264视频。我已经尝试了几天,但没有成功。我所拥有的是一种设备,它可以生成一个h264视频流,它通过原始udp(不是rtp)在mpegts容器中进行多播。我试图让它显示在android上的自定义应用程序中。我读到android的内置MediaPlayer支持h264(avc)和mpegts,但它不处理udp://流,所以我不能使用它(这是迄今为止最简单的)。相反,我尝试手动将mpegts流解析为基本流,并将其传递给已传递到SurfaceView表面的MediaCodec。无论我尝试什么,总会发生两件事(一旦我修复了异常等):S