我不知道它会变坏但是我正在尝试使用MulticastSocket通信几个不同的主板,接收器似乎一直在等待消息。
我必须通过网络将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
中被阻止。