0
x11vnc를 사용하고 있는데 간단한 클라이언트를 개발하고 싶습니다. 그래서 작업은 다음과 같습니다 소켓 java.net 소켓, readline 및 라인 종결 자 (VNC 연결)
- 를 받게되며 정보는
등
그래서,에 보내 다른 정보를
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(socket.getInputStream()));
String test = null;
try {
test = lnr.readLine();
System.out.println(test);
test = lnr.readLine();
System.out.println(test);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
System.exit(0);
서버에서 보낸 첫 번째 메시지가 오류없이 나타납니다 (첫 번째 readLine). 다음 메시지는 비어 있거나 (또는 readLine에 대한 줄 종결 자없이) 무한 루프가 있습니다. lnr.ready()가 작동하지 않습니다. 그렇다면 소켓의 데이터에 "\ n", "\ r", "\ r \ n"이 없거나 소켓 버퍼가 비어 있으면 어떻게 읽을 수 있습니까?
네, 감사합니다, 그래서 InputStreamReader에서 읽을 어떻게? 무슨 뜻이야? 그리고 언제 LineNumberReader를 사용할 수 있습니까? 나는 Java에 익숙하지 않고 이러한 동일한 클래스 (ISR과 LNR가 아니라 BufferReader와 같은 클래스)를 사용해야 할 때를 이해할 수 없습니다. – purple
> 네, 고마워요, 그래서 어떻게 InputStreamReader에서 읽을 수 있습니까? * 또한 소켓에서 직접? – purple
@purple, read() 메소드 [InputStreamReader reference] (http://download.oracle.com/javase/1.4.2/docs/api/java/io/InputStreamReader.html)를 참조하십시오. 또한 [LineNumberReader reference] (http://download.oracle.com/javase/1.5.0/docs/api/java/io/LineNumberReader.html)를 참조하십시오. – kanaka