何が悪いのかわかりませんが、MulticastSocket を使用していくつかの異なるボードと通信しようとしていますが、受信者はメッセージを待ち続けているようです。
メッセージを分析する 1 つのサーバーのみに、異なるクライアントからネット経由で 3 つの異なるオブジェクトを転送する必要があります。
サーバーコード:
MulticastSocket escucha = new MulticastSocket(4445);
escucha.joinGroup(InetAddress.getByName("230.0.0.1"));
byte[] recvBuf = new byte[1000];
DatagramPacket packet = new DatagramPacket(recvBuf,
recvBuf.length);
escucha.receive(packet);
int byteCount = packet.getLength();
ByteArrayInputStream byteStream = new
ByteArrayInputStream(recvBuf);
ObjectInputStream is = new
ObjectInputStream(new BufferedInputStream(byteStream));
information nodo = (information)is.readObject();
is.close();
クライアントコード:
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(1000);
ObjectOutputStream os = new ObjectOutputStream(new BufferedOutputStream(byteStream));
os.flush();
os.writeObject(nodo);
os.flush();
//retrieves byte array
byte[] sendBuf = byteStream.toByteArray();
DatagramPacket packet = new DatagramPacket(
sendBuf, sendBuf.length, InetAddress.getByName("230.0.0.1"), 4445);
int byteCount = packet.getLength();
enviador.send(packet);
os.close();
サーバーを起動してからクライアントを起動すると、サーバーがブロックされescucha.receive
ます。