Tag: 广播

在暂停时如何让活动对本地广播作出反应?

在活动暂停或停止时,通过LocalBroadcastManager发送的广播会对活动(如果有)做出反应的最佳方式是什么? 如果LocalBroadcastManager与普通广播不同,我找不到太多细节,但如果活动在后台,它似乎仍然被称为事件。 但这会导致一些问题,因为只要未显示活动,就无法进行某些UI修改。 这就是为什么我更愿意在活动重回顶峰时处理所有广播。 但是我该怎么做呢 我正在考虑一个队列,它将获取在活动恢复运行状态时执行的可运行列表。 但我认为这是某种矫枉过正,因为机器人确实有一个机制。 那么这样做的正确方法是什么?

Java NIO是否支持广播或多播?

我正在搜索Java NIO是否实现了广播。 我需要创建一个使用多播或广播向其他对等体发送消息的对等体。 我在API 1.6中搜索,但我在DatagramChannel类中找不到任何内容。 提前致谢。

如何在java网络中播放

这是我第一次在java中编程网络。 我正在寻找一种方式发送到某种方式广播到整个网络中的所有节点。 让他们知道我的存在。 我正在尝试制作一个多人网络游戏,我希望客户能够看到所有可用的游戏来选择加入哪个游戏。 我想知道如何从服务器广播,以及如何让客户端听。 请简单,我是新手:) 提前致谢。

Akka(java),非阻止广播给所有孩子

假设我有一个地区演员,每个地区都有一定数量的人。 你如何向每个人广播一条消息,知道人们的名单可以随着时间的推移而改变,广播路由器似乎是选择,但问题是他们有最大数量的路由,而且我不能动态地追加人们路由器。 我的问题是:我知道有一个EventBus,我可以订阅我的人员参加活动巴士,但我不希望他们收到所发布的每条消息,我希望他们收到该地区的消息。 现在在akka,我们必须创建一个具有一定数量路由的路由器,例如: Router router = new router(person1, person2) 这很糟糕,因为在该地区没有人,我不知道将加入我所在地区的人。 有没有办法制作一种动态路由器:例如: Region region = new region() region.router = new Router() Person person1 = new Person() region.router.subscribe(person1); region.router.tell(“hello”,null);

Java Multicast / Broadcast Java中的网络发现

这就是我正在尝试做的事情 – 服务器向网络中的所有PC以及启动并运行的PC发送“活动消息”,通过发送IP来响应呼叫。 我正在寻找一个轻量级的编码,因为这将形成我的应用程序的一小部分。 我看过Jini和其他服务,但发现我可能不需要他们的一半function(网络发现除外) 如果我可以:1。使用for循环,服务器打开套接字,检查(使用for循环)是否可以通过发送“Alive”消息来访问所有IP xxxx。 2.在特定套接字的客户端收到“alive”消息后,客户端回复其IP。 这种方法好吗? 你认为我能以更好的方式做到吗? 谢谢!

Java DatagramSocket将数据包发送到255.255.255.255失败

我正在编写一个java的网络程序,我想发送一些数据包到255.255.255.255,但它失败了,即使我发送到192.168.1.255,根据ifconfig命令的输出,是广播地址。 但是当我把它们发送给我的队友的IP时,它运行正常。 这是我的程序的代码: public class StackOverFlow { public static void main(String[] args) { Network net= new Network(); Scanner input= new Scanner(System.in); while(input.hasNext()) net.sendMessage(input.nextLine()); } } 我已经使用DatagarmSocket和DatagramPacket这样做,这是我对网络的实现: class Network { DatagramSocket socket; public Network() { try { socket = new DatagramSocket(8027); socket.setBroadcast(true); socket.connect(InetAddress.getByName(“255.255.255.255”), 8027); } catch (Exception e) { System.err.println(“Connection failed. ” + e.getMessage()); } listen(); […]

Java中的UDP广播

早上。 我是Java和套接字连接的新手,但我试图在端口8001上将255.255.255.255上的UDP数据包/广播发送到设备。 我可以将数据发送得很好,但是当接收数据时,连接超时。 我有一个数据包嗅探器,我可以看到数据包发送,然后设备响应。 我很确定这是我在代码中遗漏的一个新手错误,但我已经坚持了一段时间,任何帮助都会受到赞赏。 m_Socket = new DatagramSocket(m_SERVERPORT); InetAddress address = InetAddress.getByName(m_SERVERIP); m_DataPack = new DatagramPacket(m_SERVERCMD.getBytes(), m_SERVERCMD.getBytes().length, address, m_SERVERPORT); m_Socket.setBroadcast(true); m_Socket.connect(address, m_SERVERPORT); m_Socket.send(m_DataPack); m_DataPack = new DatagramPacket(data, data.length, address, m_SERVERPORT); m_Socket.receive(m_DataPack); // This is where it times out data = m_DataPack.getData(); String received = data.toString(); System.out.println(“Received: ” + received); m_Socket.close(); 谢谢和Gig’Em。 编辑: 我不确定这是否有帮助但是当我观察m_Socket对象时,我可以在发送之前看到以下内容: bound […]

如何更新火花流中的广播变量?

我相信,我有一个相对常见的火花流用例: 我有一个对象流,我想根据一些参考数据进行过滤 最初,我认为使用广播变量实现这是一件非常简单的事情: public void startSparkEngine { Broadcast refdataBroadcast = sparkContext.broadcast(getRefData()); final JavaDStream filteredStream = objectStream.filter(obj -> { final ReferenceData refData = refdataBroadcast.getValue(); return obj.getField().equals(refData.getField()); } filteredStream.foreachRDD(rdd -> { rdd.foreach(obj -> { // Final processing of filtered objects }); return null; }); } 但是,尽管很少, 我的参考数据会定期更改 我的印象是我可以在驱动程序上修改和重新广播我的变量,它会传播给每个worker,但Broadcast对象不是Serializable ,需要是final 。 我有什么替代品? 我能想到的三个解决方案是: 将引用数据查找移动到forEachPartition或forEachRdd ,以使其完全驻留在worker上。 但是,参考数据存在于REST API中,因此我还需要以某种方式存储计时器/计数器以停止对流中的每个元素访问远程数据库。 每次refdata更改时,使用新的广播变量重新启动Spark上下文。 […]