problems with readObject and EOF Exception

Discussion in 'Java' started by _kOws, Aug 20, 2007.

  1. _kOws

    _kOws Guest

    Hi,
    I'm a Java-beginner and I'm writing a small client/server software and
    I'm in troubles looping on
    readObject:
    -- I have a client that connects to the server and read an object (an
    HashMap)
    from the server; after that it have to loop on the readObject waiting
    for another
    HashMap that the server will (or will not) send.
    -- The server when the client connect, sends the HashMap, and in case
    other clients connect
    it will update the HashMap and re-send it to the clients.

    I need that the client, after it receive the first object, waits for
    another incoming object:
    but after reading the first object, readObject throws an EOF
    Exception.
    How can I handle thi Exception to continue looping on the
    readObject(), waiting for a possible
    update from the server?

    Sorry for my english, and thanks to anyone who will help me coming out
    this situation!

    Regards
    G.

    (an extract of code follows)

    [CLIENT]
    .....
    try{
    while(true){
    fileHashMap = is_obj.readObject();
    .......
    // Working on the HashMap
    .......
    }
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    [SERVER]
    ......
    //I'm in a function that I call every time that the map is updated

    c.os_obj.writeObject(Mappa);
    c.os_obj.flush();
    c.os_obj.reset();
    //END
     
    _kOws, Aug 20, 2007
    #1
    1. Advertisements

  2. _kOws

    _kOws Guest

    [cut]

    I'm really sorry for this long message...
    the problem was that the server closed the socket too early, and that
    generated
    the EOF Exception on the client.

    Sorry again!

    G.
     
    _kOws, Aug 20, 2007
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.