Tag: 组播

如果端口对多播组无关紧要,为什么DatagramSocket.joinGroup()方法采用SocketAddress?

我只是好奇。 这是API错误吗? 加入组播组时,不要使用端口,只使用组播组(IP)作为组播组,对吗? 这是一个令人烦恼的情况,是否会使用PORT?

如何使我的多播程序在不同网络上的计算机之间工作?

我用多播做了一个小聊天小程序。 它在同一网络上的计算机之间正常工作,但如果计算机位于不同的网络上则会失败。 为什么是这样? import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ClientA extends JApplet implements ActionListener, Runnable { JTextField tf; JTextArea ta; MulticastSocket socket; InetAddress group; String name=””; public void start() { try { socket = new MulticastSocket(7777); group = InetAddress.getByName(“233.0.0.1”); socket.joinGroup(group); socket.setTimeToLive(255); Thread th = new Thread(this); th.start(); name =JOptionPane.showInputDialog(null,”Please […]

Java多播发送数据,未接收

我正在用Java编写一个类,用于大大简化多播过程。 但是,我遇到两个大问题: 该类发送数据(我可以使用我的网络监视器Wireshark进行validation),但同一组中的任何其他人都不会收到数据。 在某些机器上,传输过程中超出了发送数据包TTL(同样,根据Wireshark)。 有人可以帮帮我吗? 我一直在努力寻找几小时的答案,看来我的代码遵循了从多播主机连接,加入,发送和接收数据的所有基本过程。 以下是该课程相关部分的片段: Multicaster类: public class Multicaster { public int port = 5540; protected String IPAddress; private MulticastSocket msConn; private InetAddress netAddr; public Multicaster(String IPAddress) { this.IPAddress = IPAddress; } public String recieveData() { byte[] buf = new byte[1000]; DatagramPacket pack = new DatagramPacket(buf, buf.length); try { this.msConn.receive(pack); new Message(pack); String […]

Java Multicast / Broadcast Java中的网络发现

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

Java多播生存时间始终为0

我在设置数据报包上的TTL时遇到问题。 我在将数据包发送到multicastSocket之前调用数据包上的setTTL(…)方法但是如果我使用ethereal捕获数据包,则TTL字段始终设置为0