PDA

Visualizza la versione completa : JAVA comunicazione CLient_Server


manuth
10-09-2003, 16:46
:bhò:
Ciao a tutti....
siamo due ragazze indifese che hanno un problema nell'implementazione di una connessione client server nel linguaggio java.
Il nostro problema,in particolare, è quello di permettere la lettura dei dati che il client invia al server. Noi abbiamo usato il metodo READ o READLINE della classe BUFFEREDREADER...Questi sono poco consigliati, ed in effetti ci danno problemi.
Quale potrebbe essere una semplice alternativa???AIUTO

denis76
10-09-2003, 19:15
State usando il protocollo Tcp oppure Udp?


Mollate tutto ed usate l'Rmi. E' molto più semplice, trasporta vettori, oggetti, immagini...

L'unica difficoltà che incontrereste potrebbe essere la configurazione dei router per il transito del protocollo jrmp, su cui lavoro l'Rmi.


Ciao ciao, Denis.

javamen
10-09-2003, 21:23
Un esempio pratico del problema ?? :quipy:

denis76
13-09-2003, 13:45
Se volete vi mando una chat scritta in Java usando l'rmi.

(Non in sorgete però.)

Fox82
13-09-2003, 18:23
Provate a dare un'occhiata a questo, l'avevo fatto tempo fa per provare.

I dati provengono da un file di testo ma potete usare qualunque altra sorgente (e destinazione)

Il client...


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

public class Client
{

public static void main(String[] args) throws IOException
{
InetAddress addr = InetAddress.getByName(null);
Socket socket = new Socket (addr, Server.PORT);
try
{
BufferedReader in = new BufferedReader(new FileReader("text.txt"));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
while (true)
{
String tmp = in.readLine();
if (tmp == null)
break;
else
out.println(tmp);
}
}
finally
{
socket.close();
}

}

}


e il server...



import java.io.*;import java.net.*;
public class Server
{
public static final int PORT = 2000;
public static void main(String[] args) throws IOException
{
ServerSocket ss = new ServerSocket(PORT);
try
{
Socket socket = ss.accept();
try
{
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("text2.txt")), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

while (true)
{
String tmp = in.readLine();
if (tmp == null)
break;
else
out.println(tmp);
}
}
finally
{
socket.close();
}
}
finally
{
ss.close();
}
}
}

import java.net.*;import java.io.*;
public class Client
{
public static void main(String[] args) throws IOException
{
InetAddress addr = InetAddress.getByName(null);
Socket socket = new Socket (addr, Server.PORT);
try
{
BufferedReader in = new BufferedReader(new FileReader("text.txt"));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
while (true)
{
String tmp = in.readLine();
if (tmp == null)
break;
else
out.println(tmp);
}
}
finally
{
socket.close();
}
}
}

Loading