problem z czytaniem z socket

Dyskusje na temat Javy.
Malutki
Bywalec
Bywalec
Posty: 46
Dołączył(a): czwartek, 7 sierpnia 2008, 10:46

problem z czytaniem z socket

Post 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();
    }
   }
}
Malutki
Bywalec
Bywalec
Posty: 46
Dołączył(a): czwartek, 7 sierpnia 2008, 10:46

Re: problem z czytaniem z socket

Post 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.
Post Reply