Evo koda i od servera i od klijenta! Prva linija iz datoteke se ocita i posalje uredno zatim druga linija se ocita i posalje ali je server ne prime iako on osluskuje ali jednosatavno ne primi drugu liniju ocitanu iz txt ddtoteke i sve sledece, ne znam zasto?
Code:
server aplikacija
public static void main(String[] args) throws Exception {
String clientSentence;
String capitalizedSentence;
ServerSocket welcomSocket=new ServerSocket(6001);
while(true){
System.out.println("Pocinje opsluzivanje");
//server stane i ceka da primi zahatev za prijem od strane klijenta
Socket connectionSocket =welcomSocket.accept();
System.out.println("Prihvatio je poziv");
// kreira se objekat koji predstavlja tok ka server od klijenta
// Server<-Klijent , ovim tokom klijentska strana salje podatke serveru
BufferedReader inFromClient=new BufferedReader(new InputStreamReader (connectionSocket.getInputStream()));
System.out.println("Procioto je ulazni strim klijenta");
//kreira se objekat koji predstavlja tok od servera do klijenta
//server->klijent preko ovog toka server klijentu salje podatek
DataOutputStream outToClient=new DataOutputStream(connectionSocket.getOutputStream());
System.out.println("Procitao je outToClient");
//citanje podtataka poslatih od strane klijenta na strani servera
clientSentence=inFromClient.readLine();
System.out.println("Procitao je liniju texta"+clientSentence);
capitalizedSentence=clientSentence.toUpperCase()+'\n';
//sljanje podatataka klijentu od strane servera
//outToClient.writeBytes(capitalizedSentence);
System.out.println("Zavrseno opsluzivanje");
System.out.println("");
}
}
klijent aplikacija
public static void main(String[] args)throws Exception {
String sentence;
String modifideSentence;
BufferedReader out = new BufferedReader(new InputStreamReader(new FileInputStream("D:/Java Programiranje/sampledir/mrezaSoket/Klijent/T1.txt")));
//BufferedReader out = new BufferedReader(new FileReader("filename"))
//kreiranje inFromUser objekta kojim se ostvaruje komunikacija sa korisnikom tako sto
//korisnik preko tastature moze da unese podatke
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
//kreiranje soketa na strani klijenta
Socket clientSocket=new Socket("Ogii",6001);
//kreiranje objekta kojim se stvara tok a on omogucava komunikaciju ka serveru to jest
//preko njega se salju podaci TCP-ju
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
System.out.println("Poslao je u izlazini tok");
//kreiranje objekta toka od servera ka korisniku i to tako da ono sto stigne od
//server ide preko ovog toka i klijent koristi ovaj tok za dobijanje podataka od servera
BufferedReader inFromServer=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println("poslie readLine BufferedReader" );
//klijent sa ovom komandom cita ulazne podatke sa tastature
// sentence=inFromUser.readLine();
// do{
while (( sentence=out.readLine())!=null){
//for(int i=0;i<5;i++){
System.out.println("Cita iz fajla");
//ovde se sa objektom outToServer salju podaci serveru iz sentence promenljive
outToServer.writeBytes(sentence+'\n' );
//server ->klijent ovde klijentska strana cita podatke koje je poslao server
//i dodeljuje je String pormenljivoje
System.out.print("Ceka podatke sa servera "+sentence);
// modifideSentence=inFromServer.readLine();
// System.out.println("EVO konacno mozda uspe" +modifideSentence);
}
// }while (sentence!=null);
clientSocket.close();
}