Metal2001
27-05-2010, 10:37
Vorrei fare un piccolo programma client-server in cui un client,una volta connesso,invia stringhe di testo lette da tastiera al server fino a quando non digito una particolare stringa
Ecco i codici di client e server
Server
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author giovanni
*/
public class Server {
public static void main(String args[]) {
ServerSocket ss = null;
Socket cs = null;
DataOutputStream dos = null;
try {
ss = new ServerSocket(22222);
while (true) {
System.out.println("Server in attesa di richieste...");
cs = ss.accept();
System.out.println("Un client si e' connesso...");
InputStream is = cs.getInputStream();
BufferedReader dis = new BufferedReader(new InputStreamReader(is));
System.out.println("Risposta del server: " + dis.readLine());
}
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Client
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author giovanni
*/
public class Client {
public static void main (String args[]) {
System.out.println("client");
Socket s = null;
String ss = new String();
InputStreamReader i = new InputStreamReader(System.in);
BufferedReader b = new BufferedReader(i);
try {
s = new Socket("localhost", 22222);
OutputStream s1out = s.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s1out));
while( ss == null ? "quit" != null : !ss.equals("quit"))
{
ss = b.readLine();
bw.write(ss);
}
s.close();
} catch (UnknownHostException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Sicuramente si tratterà di qualche errore stupido che ignoro,spero possiate aiutarmi
Grazie
Ecco i codici di client e server
Server
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author giovanni
*/
public class Server {
public static void main(String args[]) {
ServerSocket ss = null;
Socket cs = null;
DataOutputStream dos = null;
try {
ss = new ServerSocket(22222);
while (true) {
System.out.println("Server in attesa di richieste...");
cs = ss.accept();
System.out.println("Un client si e' connesso...");
InputStream is = cs.getInputStream();
BufferedReader dis = new BufferedReader(new InputStreamReader(is));
System.out.println("Risposta del server: " + dis.readLine());
}
} catch (IOException ex) {
Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Client
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author giovanni
*/
public class Client {
public static void main (String args[]) {
System.out.println("client");
Socket s = null;
String ss = new String();
InputStreamReader i = new InputStreamReader(System.in);
BufferedReader b = new BufferedReader(i);
try {
s = new Socket("localhost", 22222);
OutputStream s1out = s.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s1out));
while( ss == null ? "quit" != null : !ss.equals("quit"))
{
ss = b.readLine();
bw.write(ss);
}
s.close();
} catch (UnknownHostException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Sicuramente si tratterà di qualche errore stupido che ignoro,spero possiate aiutarmi
Grazie