Strona 1 z 1

problem z czytaniem z socket

Napisane: sobota, 15 czerwca 2013, 12:09
przez Malutki
Cześć mam problem z kodem java lub c++ :) sam już nie wiem. Napisałem kawałek serwera w c++ którego testowałem w telnecie -działa mi ok .
Test polega na zalogowaniu się jako login : root , hasło: root wyświetla mi się wtedy menu z dalszymi instrukcjami -dotyczącymi użytkownika root.

Klienta muszę napisać w javie i tu pojawia się mój problem . Nie wiem czemu ale po wczytaniu lini z powitaniem i prośbą o login nie wychodzi mi z pętli i nic dalej nie mogę poczynić.
Chodzi o mi o ten kawałek kodu .

Code: Zaznacz cały

                        while ((wiadom = czytelnik.readLine()) != null) 
                              {
                                      System.out.println(wiadom);
                              } 
załączam kod klienta i serwera i proszę o pomoc :) >Serwer jako plik .

Kod Klienta java poniżej :

Code: Zaznacz cały

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


public class Klient
{
   public static final int PORT=1978;
   public static final String HOST = "192.168.0.109";
   
   public static void main(String[] args) throws IOException                            
   {                                                                                   
       

    try {
     
            try (Socket socket = new Socket(HOST, PORT)) {
                
                OutputStream outStream = socket.getOutputStream();
                PrintWriter pisarz = new PrintWriter(outStream,true);
                
                 InputStreamReader czytelnikStrm = new InputStreamReader(socket.getInputStream());
                 BufferedReader czytelnik = new BufferedReader(czytelnikStrm);
      
                // Odczyt odpowiedzi serwera (data i czas)
                String wiadom;
                try {
                       while ((wiadom = czytelnik.readLine()) != null) 
                              {
                                      System.out.println(wiadom);
                              } 
                } 
                
                 catch(Exception ex) {ex.printStackTrace();}
                 System.out.println("Jestem tu");
              
                czytelnik.close();
                System.out.println("Jestem tu");
            }
    } catch (UnknownHostException exc) {
        System.out.println("Nieznany host: " + host);
    } catch (Exception exc) {
         exc.printStackTrace();
    }
   }
}

Re: problem z czytaniem z socket

Napisane: niedziela, 16 czerwca 2013, 22:19
przez Malutki
Czytam w necie ale nie mogę znaleźć odpowiedzi może chodzi o znak końca lini przeczytałem że w javie są to 2 bajty nie wiem jak to wygląda w c++ ale z obserwacji widzę że jak jest zakończenie lini znakiem \n to przechodzi dalej do następnej lini.
Proszę w dalszym ciągu o pomoc bo nie wiem co zrobić a mało czasu mi zostało na dokończenie.