Solved

Sample Serialized Object Transfer

Posted on 1998-08-17
3
155 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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

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…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

758 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