cannot receive over ObjectInputStream... what is going on?
consider this code:
client
DatagramSocket dgs =new DatagramSocket(9999);
byte[] data =newbyte[1024];
DatagramPacket dgp =new DatagramPacket(data, data.length);
dgs.receive(dgp);
Socket sok =new Socket(dgp.getAddress(), 8888);
ObjectOutputStream oos =new ObjectOutputStream(sok.getOutputStream());
oos.writeObject("message from client");
oos.flush();
server
// do a UDP broadcast on port 9999
......
ServerSocket servSok =new ServerSocket(8888);
Socket sok = servSok.accept();
ObjectInputStream ois =new ObjectInputStream(sok.getInputStream());
// .... blocks .... blocks ....
System.out.println("this is never displayed....");
String message = (String) ois.readObject();
what is going on? why does blocking happen
here:
ObjectInputStream ois = new ObjectInputStream(sok.getInputStream());
instead of
String message = (String) ois.readObject();
i've openedObjectInputStreams this way
hundreds of times.
what are some issues for me to investigate?
i don't know how to debug such a fundamental
process.
thanks.

