Necesito ayuda urgente!!!!

tarek
09 de Noviembre del 2005
Hola a todos necesito saber como se hace un programa cliente/Servidor en Java, donde el cliente abra un fichero y lea una linea del fichero y se la envia al servidor, el servidor lee la linea del fichero y la pasa a mayusculas(creo que hay una funcion que hace eso, y es facil), y una vez pasada esta se la envia al cliente y esta sera la salida del cliente. O sea, la salida del servidor sera la linea que le envia el cliente y la salida del cliente sera esa linea pero en mayusculas que le envia el servidor.

Por favor si alguien me puede ayudar es para clases y tengo mas o menos algo echo aqui se los paso y me lo miran por favor. Es urgenteeeee...!!!
Aqui va el codigo que tengo echo:

CLIENTE:

import java.net.*;
import java.io.*;

public class TCPClient
{
public static void main (String [] args)
{
new TCPClient();
}

public TCPClient()
{
try
{


Socket socket = new Socket ("localhost", 35559);
System.out.println ("connect");

// The name of the input file
String fileName = "line-input.txt";
// Create a file reader using the file name
FileReader reader = new FileReader (fileName);
// Create a buffered reader using a file reader
BufferedReader bf = new BufferedReader(reader);
// Read a line from the buffered reader
String strIn = bf.readLine();

/* Se obtiene un stream de lectura para leer objetos */
ObjectInputStream bufferObjetos =
new ObjectInputStream (socket.getInputStream());

/* Se lee un Datosocket que nos env� el servidor y se muestra
* en pantalla */
DataSocket dato = (DataSocket)bufferObjetos.readObject();
System.out.println ("FROM SERVER: " + dato.toString());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

SERVIDOR:

import java.net.*;
import java.io.*;

/**
* Clase principal que instancia un socket servidor, acepta una conexi�
* de un cliente y le env� un entero y una cadena de caracteres.
*/
public class TCPServer
{
public static void main (String [] args)
{
new TCPServer();
}

/**
* Constructor por defecto. Hace todo lo que hace el ejemplo.
*/
public TCPServer()
{
try
{
ServerSocket socket = new ServerSocket (35559);

System.out.println ("Waiting Client...");
Socket cliente = socket.accept();
System.out.println ("Connect with client from " + cliente.getInetAddress());

// Print on console what it has been read
System.out.println(strIn);
// Change the line to upper case
String upperCaseString = strIn.toUpperCase();
// Create a file writer with the name “line-output.txt”
FileWriter writer = new FileWriter ("line-output.txt");
// Create a buffered file writer using a file writer
BufferedWriter br = new BufferedWriter (writer);
// Write in the buffered writer
br.write(upperCaseString);
// Make sure that the buffered output is written out
br.flush();

cliente.setSoLinger (true, 10);


// Se prepara un flujo de salida para objetos y un objeto para enviar*/
DataSocket dato = new DataSocket();
ObjectOutputStream bufferObjetos =
new ObjectOutputStream (cliente.getOutputStream());

// Se env� el objeto
bufferObjetos.writeObject(dato);
System.out.println ("Hi There");

cliente.close();

socket.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

Esto es lo que he podido recopilar por ahi pero no tira bien espero que alguien me ayude, es que de java no tengo ni idea.