Returning Object Information
Problem
You need to return an object.
Solution
Create the object you need, and write it using an
ObjectOutputStream
created on top of the socket’s
output stream.
Discussion
In the previous chapter, you saw a program that read a
Date
object over an
ObjectInputStream
. This code is the other end of
that process, the
DaytimeObjectServer
. Example 16-5
is a server that constructs a Date
object each
time it’s connected to, and returns it.
Example 16-5. DaytimeObjectServer.java
/* */ public class DaytimeObjectServer { /** The TCP port for the object time service. */ public static final short TIME_PORT = 1951; public static void main(String[] argv) { ServerSocket sock; Socket clientSock; try { sock = new ServerSocket(TIME_PORT); while ((clientSock = sock.accept( )) != null) { System.out.println("Accept from " + clientSock.getInetAddress( )); ObjectOutputStream os = new ObjectOutputStream( clientSock.getOutputStream( )); // Construct and write the Object os.writeObject(new Date( )); os.close( ); } } catch (IOException e) { System.err.println(e); } } }
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.