Ciao,
ho un problema di comunicazione tra client e server, sto provando a realizzare una chat tra un client e server,
il problema è che non riesco a far ricevere al server il messaggio del client, vi posto il codice di entrambe le parti:
Codice Server
codice:
import java.io.*;
import java.net.*;
public class ChatServer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ServerSocket srvSock;
try {
//Inizializzo il Server
srvSock = new ServerSocket(12233);
System.out.println("Inizializzato Server: " + srvSock);
//Inizializzo la connessione col client
Socket clntSock = srvSock.accept();
System.out.println("Connessione col Client: " + clntSock);
BufferedReader in = new BufferedReader(new InputStreamReader(clntSock.getInputStream()));
PrintWriter out = new PrintWriter(clntSock.getOutputStream());
BufferedReader inChat = new BufferedReader(new InputStreamReader(System.in));
String strIn;
String strOut;
//Metto in ascolto
while(true){
strIn = in.readLine();
System.out.println("Client: " + strIn);
strOut = inChat.readLine();
out.write(strOut);
System.out.println("Server: " + strOut);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit(0);
}
}
Codice Client
codice:
import java.io.*;
import java.net.*;
public class ChatClient {
/**
* @param args
*/
public static void main(String[] args) {
try {
Socket clntSock = new Socket("localhost",12233);
System.out.println("Client connesso: " + clntSock);
BufferedReader inChat = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(clntSock.getInputStream()));
PrintWriter out = new PrintWriter(clntSock.getOutputStream());
String strChat;
String strIn;
String strOut;
while(true){
strChat = inChat.readLine();
System.out.println("Client: " + strChat);
out.write(strChat);
strIn = in.readLine();
System.out.println("Server: " + strIn);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Dopo aver letto la prima riga da tastiera, il client stampa a schermo il messaggio ma non invia al server, ed entrambi si bloccano,
mi potreste aiutare a capire dove sbaglio??