Solved

Sample Serialized Object Transfer

Posted on 1998-08-17
3
165 Views
Last Modified: 2010-03-30
Could someone show some code on serializing a class across a socket?
0
Comment
Question by:jvb73
  • 2
3 Comments
 
LVL 3

Accepted Solution

by:
mjenkins earned 120 total points
ID: 1221969
Here's a quickie example I have laying around.

import java.net.*;
import java.io.*;
 
public class Client
{
        Socket s;
 
        public static void main( String args[] )
        {
                Client c = new Client();
                c.sendObject();
                c.close();
                System.out.println( "Done Sending" );
        }
 
        public Client()
        {
                try
                {
                        s = new Socket( "localhost", 10888 );
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                        System.exit(0);
                }
        }
 
        public void sendObject()
        {
                try
                {
                        OutputStream out = s.getOutputStream();
                        ObjectOutputStream output = new ObjectOutputStream( out );
                        output.writeObject(new Character('a'));
                        output.writeObject(new Long(12345));
                        output.writeObject(new Double(123.456));
                        output.flush();
                        output.close();
                }
                catch( IOException e )
                {
                        e.printStackTrace();
                }
        }
 
        public void close()
        {
                try
                {
                        s.close();
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                        System.exit(0);
                }
        }
}

import java.net.*;
import java.io.*;
 
public class Server
{
        ServerSocket s;
 
        public static void main( String args[] )
        {
                Server c = new Server();
                c.recvObject();
                System.out.println( "Done Recieving" );
        }
 
        public Server()
        {
                try
                {
                        s = new ServerSocket( 10888, 10 );
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                        System.exit(0);
                }
        }
 
        public void recvObject()
        {
 
                try
                {
                        Socket s1 = s.accept();
                        InputStream in = s1.getInputStream();
                        ObjectInputStream input = new ObjectInputStream( in );
                        Character c = (Character)input.readObject();
                        Long l = (Long)input.readObject();
                        Double d = (Double)input.readObject();
                        input.close();
                        s1.close();
                        System.out.println( "SERVER RECIEVED: " + c + " " + l + " " + d );
                }
                catch( Exception e )
                {
                        e.printStackTrace();
                }
        }
}

0
 

Author Comment

by:jvb73
ID: 1221970
Thank you that was very fast. Why Character, Long , Double?
0
 
LVL 3

Expert Comment

by:mjenkins
ID: 1221971
It was from an example I gave for a different question. I just copies the source I had.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now