webForumDet fria alternativet

readLine() i Socket fungerar ej!

1 svar · 137 visningar · startad av swange

swangeMedlem sedan aug. 200220 inlägg
#1

Håller på att göra en Chatklient och får inte readline att fungera.

Jag har en tråd som kollar meddelandena från servern och när den kommer till in.readLine(); så "kastas" IO/exception. Jag kopplar upp mig mot Server.jar, en fungerande chatserver som jag kör lokalt på hårddisken med kommandot c:\java -jar Server.jar. Det fungerar att skriva till den chatservern.

Koden ser ut som följer:

* Tråden initieras i slutet av klassens konstruktor.
* Jag skapar även socketen i slutet av konstruktorn.

public class ChatFace extends JFrame implements Runnable{
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JPanel ............osv

public void run() {
boolean a = true;
String userInput;
String mess;

while (a){
  try{
  BufferedReader in = new BufferedReader(newInputStreamReader
(s.getInputStream()));

    if ((userInput = in.readLine()) != null) {
      mess = in.readLine();
      MRuta.append(mess+"\\n"); // MRuta är JTextarea
     }

  try{

    Thread.sleep(1000);
   }

   catch (InterruptedException e){
    System.err.println("Dåligt drag!");
     }
    }

    catch (IOException e) {
    System.err.println("Funkar icke!");
      }

}

}

Vad har jag missat? Varför läser den inte in.readLine()?

Tacksam för svar.....

phonkworksMedlem sedan juli 2001228 inlägg
#2

Börja med att skriva så här och pröva igen..

while((userInput = in.readLine()) != null) { 
	mess += userInput;
} 
MRuta.append(mess+"\n"); // MRuta är JTextarea
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)