精华内容
下载资源
问答
  • 最近,我听说了多播广播协议,甚至发现了一个开源库调用-JGroups,它们以最佳方式实现了该协议,并公开了易于使用的接口.仍然没有尝试过,但是从一个认识的人那里得到了建议,说对于我的目的,TCP客户端/服务器应该更好. >...

    我正在开发一种在20-30台android设备(特定于装有android honeycomb / ICS OS的平板电脑)上运行的无市场应用程序,可在本地WIFI网络上维持1-2小时的连接,并且需要交换数据(代表命令的简单对象).

    在大多数情况下,一个特定的平板电脑的行为类似于发送命令的服务器,而其他设备(如客户端)则接收命令,但是“客户端”有时也会向“服务器”发送命令.

    解决此通信需求的方法-我使用开放源代码一段时间

    封装TCP客户端/服务器协议的库,称为-Kryonet.

    我发现它非常易于使用,并且基本上可以完成工作,尽管有时有时“不稳定”-造成很多断开连接.我无法承受这种断开连接,因为它损害了整个流程和用例,导致客户端丢失命令.

    我正在执行一些恢复逻辑,这些逻辑将重新连接客户端并将其丢失的内容发送给他们,但这对于用例而言还不够好.

    最近,我听说了多播广播协议,甚至发现了一个开源库调用-JGroups,它们以最佳方式实现了该协议,并公开了易于使用的接口.仍然没有尝试过,但是从一个认识的人那里得到了建议,说对于我的目的,TCP客户端/服务器应该更好.

    >应该采用哪种最佳方法来实现我描述的行为? (不一定是我建议的两个之一)

    TIA

    解决方法:

    尽管JGroups承诺会为您的情况提供更好的解决方案,但您可能还需要进行更多的试验来确定断开连接的原因.由于您的客户端和服务器都是平板电脑,因此还有其他一些无关的原因:

    1)如果服务中未维护连接,则默认情况下它们将极为不可靠. (有关Android中销毁单例的信息,请参见this question)

    2)如果套接字尚未设置为“ keepalive”,则它们将在任意秒数后超时.

    3)您使用的设备在进入睡眠状态时可能会关闭某些持久性连接.

    4)平板电脑可能正在退出WiFi范围,并切换到移动网络.

    在许多台式机上尝试代码的网络部分,以确定问题是否出在Kryonet或您的代码上,或者问题是否出在Android上.

    标签:tcp,android-wifi,local-network,android,multicast

    来源: https://codeday.me/bug/20191201/2077784.html

    展开全文
  • 如果你使用的是Linux操作系统,并希望检查你的网络是否支持多播,请对 你的网络接口(通常是eth0)使用ifconfig命令。如果你的网络支持多播,你 会从前面命令的响应中看到MULTICAST属性。 [root@b ~]# ifconfig eth...

    Multicast - Wikipedia https://en.wikipedia.org/wiki/Multicast

    This article is about one-to-many communications. For radio systems, see Point-to-multipoint communication. For broadcasting multiple programs using a single channel, see Multicast channel.

    1cb9d67ac7fb177587254b00ed29bf5e.png

    如果你使用的是Linux操作系统,并希望检查你的网络是否支持多播,请对 你的网络接口(通常是eth0)使用ifconfig命令。如果你的网络支持多播,你 会从前面命令的响应中看到MULTICAST属性。

    [root@b ~]# ifconfig

    eth0: flags=4163 mtu 1500

    inet 10.27.32.114 netmask 255.255.252.0 broadcast 10.27.35.255

    ether 00:16:3e:2e:8a:f6 txqueuelen 1000 (Ethernet)

    RX packets 6411780215 bytes 1875051735478 (1.7 TiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 4868429492 bytes 1968247596474 (1.7 TiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    eth1: flags=4163 mtu 1500

    inet 59.110.11.24 netmask 255.255.252.0 broadcast 59.110.11.255

    ether 00:16:3e:2e:a1:4a txqueuelen 1000 (Ethernet)

    RX packets 12463490 bytes 1033900322 (986.0 MiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 867706599 bytes 332348235879 (309.5 GiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    lo: flags=73 mtu 65536

    inet 127.0.0.1 netmask 255.0.0.0

    loop txqueuelen 1000 (Local Loopback)

    RX packets 1657927099 bytes 369985658585 (344.5 GiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 1657927099 bytes 369985658585 (344.5 GiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    [root@b ~]# ifconfig --help

    Usage:

    ifconfig [-a] [-v] [-s] [[]

    ]

    [add

    [/]]

    [del

    [/]]

    [[-]broadcast [

    ]] [[-]pointopoint [
    ]]

    [netmask

    ] [dstaddr
    ] [tunnel
    ]

    [outfill ] [keepalive ]

    [hw

    ] [mtu ]

    [[-]trailers] [[-]arp] [[-]allmulti]

    [multicast] [[-]promisc]

    [mem_start ] [io_addr ] [irq ] [media ]

    [txqueuelen ]

    [[-]dynamic]

    [up|down] ...

    =Hardware Type.

    List of possible hardware types:

    loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)

    slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)

    ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)

    netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)

    ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)

    arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)

    sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)

    irda (IrLAP) ec (Econet) x25 (generic X.25)

    infiniband (InfiniBand) eui64 (Generic EUI-64)

    =Address family. Default: inet

    List of possible address families:

    unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)

    ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)

    ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)

    ash (Ash) x25 (CCITT X.25)

    [root@b ~]# ifconfig eth0

    eth0: flags=4163 mtu 1500

    inet 10.27.32.114 netmask 255.255.252.0 broadcast 10.27.35.255

    ether 00:16:3e:2e:8a:f6 txqueuelen 1000 (Ethernet)

    RX packets 6411868961 bytes 1875079766643 (1.7 TiB)

    RX errors 0 dropped 0 overruns 0 frame 0

    TX packets 4868504600 bytes 1968275429713 (1.7 TiB)

    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    [root@b ~]#

    展开全文
  • “单”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?单在网络中得到了广泛的应用,网络上绝大部分的...

    “单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?

    单播

    单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(PointtoPoint)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。

    多播

    “多播”可以理解为一个人向多个人(但不是在场的所有人)说话,这样能够提高通话的效率。如果你要通知特定的某些人同一件事情,但是又不想让其他人知道,使用电话一个一个地通知就非常麻烦,而使用日常生活的大喇叭进行广播通知,就达不到只通知个别人的目的了,此时使用“多播”来实现就会非常方便快捷,但是现实生活中多播设备非常少。

    广播

    主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。

    展开全文
  • 一、单(一对一通信) 主机之间一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的...

    一、单播(一对一通信)

    主机之间一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用单播模式,具体的说就是IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地
    单播可以及时响应客户信息,做到一一对应,但是正式因此带来了一定的流量负担,服务器流量=客户机数量×客户机流量,若客户及数量庞大,则网络负载会很大。

    二、多播(一对一组)

    主机之间一对一组的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。
    多个客户端共享一个数据流,降低了负载,提升了效率,和单播协议一样允许在Internet宽带网上传输,组播是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制
    多播IP地址就是D类IP地址(第一个字节以1110开头),即224.0.0.0至239.255.255.255之间的IP地址

    三、广播(一对整个子网)

    主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机
    网络设置简单,成本最低,效率最高,但是无法进行多样化的服务,并且作用范围只在一个子网范围之内(不允许在Internet宽带网上传输)
    广播地址为将主机号替换为全一,如128.31.255.255/16

    展开全文
  • UDP 单广播多播

    2021-02-26 18:56:08
    使用UDP协议进行信息的传输之前不...单用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。...
  • 【计算机网络】单多播(组)和广播多播(组)和广播的区别? 单:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单”,此时...
  • 广播多播

    2021-01-03 14:24:21
    所以广播或者多播,是通过底层,网络层以太网,以太网帧,会携带的信息,检验主机是否属于多播地址; 广播:这些数据报,只有在udp层才会丢弃,因为在这里没有处理这些数据的(监听)的接口; 多播:可以把一个...
  • ,组,广播概念

    2021-06-22 11:19:10
    (multicast):也叫多播, 多点广播或群。 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。利用组技术可以方便地...
  • QT UDP通信(单广播、组

    千次阅读 多人点赞 2021-03-22 21:50:26
    广播的实现方式基本相同,只是数据报的目标IP地址设置不同,多播模式需要加入多播组,实现方式有较大差异。 2.单/广播 本机运行两个实例需要绑定不同的端口,例如实例A绑定端口2000,实例B绑定端口3000,...
  • 但是通常使用“点对点通信”(Point to Point)代替“单”,因为“单”一般与“多播”和“广播”相对应使用。 多播:“多播”也可以称为“组”,在网络技术的应用并不是很,网上视频会议、网上视频点播特别...
  • java 单广播、组详解及实例代码在当前网络通信中(TCP/IP也不例外)有三种通信模式:单广播、组(又叫多播, 个人感觉叫多播描述的有点不恰当),其中多播出现的时间最晚,但同时具备单广播的优点,最...
  • 为了省电很设备可能不能广播,需求做如下处理:class...{android.net.wifi.WifiManager.MulticastLocklock;...privatevoidsetUp(){//tobecalledbyonCreateandroid.net.wifi.WifiManagerwifi=(android.net.wifi....
  • 计算机网中的广播节目和多播指的是什么?计算机网中的广播节目是一种团队通讯,在其中推送方另外向接受方传送数据。它是一种所有通信模型,在其中每一个推送机器设备将传输数据到互联网域中的全部别的机器设备。广播...
  • 讲解Java的Socket网络编程的多播广播实现在Java中,我们可以有很种方法来发送和接收数据。有的方法比较靠近底层,有些问题就需要程序员自己去解决,而有些方法抽象层次比较高,很方便地就可以拿来使用。这些处理...
  • 广播、组、单区别与联系

    千次阅读 2021-01-31 15:53:12
    网络通信中使用最多的就是广播、组、单几种通信方式了,今天我们抛开具体的标准和知识,简单聊聊单、组广播的区别与使用。 2.单、组广播区别与联系 单:在同一网络内,两个设备点对点的通信就是...
  • 广播和组

    2021-03-21 09:34:20
    广播和组 摘自<NIO与Socket编程技术指南> 单:单台主机与单台主机之间的通信 广播:单台主机与网络中所有主机的通信 组:单台主机与选定的 一组主机的通信 单大多数都是点对点式的网络,如...
  • 用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的...
  • 简介单有TCP和UDP两种实现,组(多播)和广播只有UDP一种实现。单广播基本同样,只是广播的数据包IP为广播IP。单DatagramSocket和DatagramPacket服务端:import java.net.DatagramPacket;import java.net....
  • } /** * 获取广播地址 */ public static String getBroadcastIP() { try { for (Enumeration niEnum = NetworkInterface.getNetworkInterfaces(); niEnum.hasMoreElements(); ) { NetworkInterface ni = niEnum....
  • 用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的...
  • MAC地址:指第一个字节的最低位是0的MAC地址。 如:xxxxxxx0-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx ...广播是组的一个特例。 如:11111111-11111111-11111111-11111111-11111111-1111111
  • 004)随着互联网的迅速发展和大屏幕功能用户设备的普及,出现了大量移动数据多媒体业务和各种高带宽多媒体业务,如视频会议、电视广播、视频点播、广告、网上教育、互动游戏等,这些业务既满足了移动用户业务的...
  • ## IP地址在IPv4中,一共有五类IP地址* A类地址:网络号占1个...* D类地址:前四位是1110,用于多播(multicast),即一对通信。* E类地址:前四位是1111,保留为以后使用。其中,D类地址是从224.0.0.0到239.255....
  • 函数 int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, const void *optval, ...以组为例,D类IP地址用于多点广播
  • 提取出Data即可 --------------------------------------------------------------------------- 组:按照SampleApp实验,组的实现需要如下步骤: 1.声明一个组对象aps_Group_...
  • 捕获广播多播地址数据MAC地址数据端口应用程序数据Wireshark网络分析实例集锦大学霸Wireshark网络分析实例集锦大学霸3.8.3 捕获广播多播地址数据广播地址就是当IP地址的网络和主机位全为1时,就是广播地址255....
  • MAC地址是以太网二层使用的一个48bit...单地址(unicast address)表示单一设备、节点,多播地址或者组地址(multicast address、group address)表示一组设备、节点,广播地址(broadcast address)是组的特例,表示
  • Java UDP 广播多播

    2021-02-28 10:24:18
    1、广播:同一网段所有主机都能接收,前提是端口要监听客户端发送广播,开启端口监听的服务端接收并打印消息服务端程序:importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,199
精华内容 43,279
关键字:

多播广播