0

何が悪いのかわかりませんが、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ます。

4

0 に答える 0