看板 java 關於我們 聯絡資訊
小弟原本在寫簡易傳輸檔案的程式(如上一篇) 但是後來發現好像在非常根源的地方就有出問題了 不過卻不知道問題在哪 所以希望能簡單的幫我De個小Bug 就是有關傳送字串的問題= =a Client端 Socket clientSocket = new Socket(serverAddress, serverPort); BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); System.out.println("ftp>Connected with "+serverAddress+ serverPort); while(true) { comm = inFromUser.readLine(); if(comm.substring(0,3).equals("ldi")) { ldir(); } else if(comm.substring(0,3).equals("put")) { outToServer.writeBytes(comm); else { System.out.println("指令輸入錯誤"); } } 在Server端 ServerSocket welcomeSocket = new ServerSocket(serverPort); Socket connectionSocket = welcomeSocket.accept(); System.out.println("Hi, connect confirm"); BufferedReader inFromClient = new BufferedReader (new InputStreamReader(connectionSocket.getInputStream())); get = inFromClient.readLine(); System.out.println(get); int k = get.length(); System.out.println(k); comm = get.substring(0,3); 理論上 只有一個發送和一個接收 假設我打put test01.txt在client端 但是到了Server卻讀不出來 之前原本把FTP的部份也放入的時候還更扯 我打put test01.txt 他還自己變成put test01.txt78 (暗指我78!?) 所以我到底是哪個地方重複定義到之類的嗎? 還是重複傳送了= = 現在感覺離真相不遠 卻卡在很莫名的地方了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.219.8
LaPass:妳的系統是不是Windows?伺服器是不是Linux?如果是,去查 04/28 02:00
LaPass:一下Java的char 78是什麼,如果是\r,那就是換行符號問題 04/28 02:02
LaPass:唔... 78是N 看來不是....... 04/28 02:10
tkcn:client 用 writeBytes 送,server 用 readLine 接,當然不行 04/28 08:09
twonia:是喔ˊˋ~可是之前寫都接得到的說... 04/28 11:37
LaPass:唔....readline? comm裡面有包含\n嗎? 04/28 12:24
twonia:沒耶~"~我的指令都很單純的一行文 04/28 12:45
LaPass:唔.... 剛剛試了一下,用DataOutputStream .writeBytes() 04/28 13:24
LaPass:BufferedReader .readLine()去接,可以正常收發。 04/28 13:27
twonia:真是莫名的BUG-.-+我看乾脆全部砍掉重打說不定就過了... 04/28 13:59
tkcn:如果 writeBytes 後面接的是 EOL, EOF,當然還是接得下來 04/28 14:50
LaPass:試試看 outToServer.writeBytes(comm+"\n"); 04/28 16:17
LaPass:如果成功的話,原PO妳要感謝tkcn。 04/28 16:20
sbrhsieh:BufferedReader::readLine 是 "\r", "\n", "\r\n" 都吃的 04/28 17:20
twonia:感動ˊˋ~加了 \n連檔案問題都解決了 04/28 18:09
twonia:感謝偉哉tkcn和LaPass大大的不離不棄幫忙Debug 04/28 18:17