Sende et objekt fra en klient til en server
Hej eksperterJeg skal lave en server og 4 klienter som denne server skal servicere. Det skal være muligt på klientsiden at oprette et objekt og sende det til serveren som indsætter objektet i en vector. Men samtidig skal det også være muligt at sende objekter den anden vej, eksempelvis disse vectorer.
Det jeg arbejder ud fra lige nu er et programeksempel jeg har fundet hvor en server tilbyder en datoservice som en klient så kan gøre brug af og derved få oplyst tiden. Men her kan jeg så ikke lige gennemskue om det er muligt at sende et objekt med i det request klienten laver og hvordan det eventuelt gøres.
Min server klasse:
import java.net.*;
import java.io.*;
public class DaytimeServer
{
public static final int SERVICE_PORT = 13;
public static void main(String args[])
{
try
{
ServerSocket server = new ServerSocket(SERVICE_PORT);
System.out.println("Daytime service started");
for(;;)
{
Socket nextClient = server.accept();
System.out.println("Recieved request from " +
nextClient.getInetAddress() + ":" + nextClient.getPort());
OutputStream out = nextClient.getOutputStream();
PrintStream pout = new PrintStream(out);
pout.print(new java.util.Date());
out.flush();
out.close();
nextClient.close();
}
}
catch(BindException be)
{
System.out.println("Service already running on port " + SERVICE_PORT);
}
catch(IOException ioe)
{
System.out.println("I/O error - " + ioe);
}
}
}
Min klient klasse:
import java.net.*;
import java.io.*;
public class DaytimeClient
{
public static final int SERVICE_PORT = 13;
public static void main(String args[])
{
if(args.length != 1)
{
System.out.println("Syntax - DaytimeClient host");
return;
}
String hostname = args[0];
try
{
Socket daytime = new Socket(hostname, SERVICE_PORT);
System.out.println("Connection established...");
daytime.setSoTimeout(2000);
BufferedReader reader = new BufferedReader(new InputStreamReader(daytime.getInputStream()));
System.out.println("Results: " + reader.readLine());
daytime.close();
}
catch(IOException ioe)
{
System.out.println("Error " + ioe);
}
}
}
Hvordan kommer jeg videre herfra ???
