0
我正在爲內部網絡應用程序之間的通信構建一個簡單的telnet連接守護進程,當我從BufferedReader讀取第一行時遇到了一個問題。BufferedReader流首次讀取的垃圾
此代碼片段並不完整,因爲其中有很多其他垃圾,所以我已將它剝離,只包含對象創建並從蒸汽中讀取。
in = new BufferedReader(new InputStreamReader(this.client.getInputStream()));
out = new PrintWriter(this.client.getOutputStream(), true);
String line;
while (true) {
out.println(flag); // flag is just an integer
System.out.println(line);
// Processing the line and updating 'flag' accordingly
}
進入test
進入telnet連接中所運行的程序的控制檯產生 v? v v? v' ²? v? ²?test
。這不會發生在第一個之後發送的行。
有沒有一種方法可以在用戶與它接口前清除垃圾,因此它不會與第一行一起發送?或者是由我的telnet客戶端引起的這個問題(當我編寫與此接口的客戶端時可能會解決這個問題)?
我認爲你是對的,我應該一直在使用原材料,因爲我不是從協議利用什麼不能telnet(其實,我不知道爲什麼我把它叫做遠程登錄)。無論如何,我明白了,謝謝。 – SamT
@SamT:'telnet'經常被用來作爲一個「普通的TCP/IP連接客戶端」,而它實際上* *爲非常具體的Telnet協議的客戶端(即幾乎沒有真正使用這些天)。 –
@Joachim Sauer我不會說它'很難用'。你會驚訝於那裏的代碼數量,例如, TN3270到銀行後端。我現在有一個嵌入式Telnet客戶機/服務器的系統。 – EJP