maintain long-lived servlet connection to receive serialized data?

Discussion in 'Java' started by dkso123@comcast.net, Apr 18, 2007.

  1. Guest

    Can anyone help me understand how I might use an HttpServlet to
    maintain a socket connection with a client and repeatedly send
    serialized data to this client without closing the connection?

    The use case is I have a client application (non-browser) interested
    in the Servlet's ever-changing data. Rather than poll the servlet for
    new data, I'd like the client to establish a long-lived connection to
    the Servlet and receive serialized Objects which the client can
    deserialize and use. The problems I'm having relate to understanding
    how the Servlet could indicate to the client that the data its sending
    is complete and ready to be deserialized (i.e., what delimits the end
    of an Object stream?) as well as the appropriate use of the servlet
    outputstream's flush() and close() methods.

    Here's some pseudo-code that hints at what I'm after:

    Servlet:
    while (true){
    ObjectOutputStream objstream = new
    ObjectOutputStream(response.getOutputStream());
    objstream.writeObject(data);
    objstream.flush();
    response.getOutputStream().flush();

    }

    Client:
    httpclient.executeGet("someURL");
    InputStream response = httpclient.getResponseStream();
    ObjectInputStream objInputStream = new ObjectInputStream(response);
    while (true){
    Object data = objInputStream.readObject();
    doSomething(data);

    }

    Thanks in advance!
    , Apr 18, 2007
    #1
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. circuit_breaker
    Replies:
    2
    Views:
    1,996
    Jack Jia
    Apr 4, 2004
  2. Andreas Leitgeb

    Short-lived Objects - good or bad?

    Andreas Leitgeb, Apr 10, 2008, in forum: Java
    Replies:
    17
    Views:
    648
  3. Replies:
    1
    Views:
    179
    Nobody
    Jan 21, 2012
  4. Luke
    Replies:
    2
    Views:
    186
  5. mdos
    Replies:
    1
    Views:
    96
    Jeff Bender
    Jan 29, 2007
Loading...

Share This Page