Re: [問題] socket 傳輸輸入字串的問題

看板java作者 (骨頭)時間19年前 (2006/04/09 13:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《feicsh.bbs@bbs.wretch.cc (飛)》之銘言: : while ((str=br.readLine()) != null) : { : //your processing : } 請問這位兄台 ^^ 您的這段程式碼要放在哪才能正常執行呢? 看來看去,真的看不懂這個問題跟兄台您所給的程式碼的關連性。 故想請教之,看來小弟對於Socket還沒悟通。^^" 因為照程式碼 這些readLine()應該都沒有null當EOF ^^" 只是一直互相的waiting對方的input罷了 根據小弟愚見 這個程式會變成dead lock 是因為server端的readLine() 輸入的時候並不會把'\n'寫入 所以Server在沒有讀到'\n'當EOF的狀態下 (因為是透過readLine() 所以是抓'\n') 也就是 server端的 String instring = in.readLine(); 這行一直處於等待'\n'的狀況 而client端也在等待server端的輸出 兩邊互等的結果就沒完沒了了XD 小弟比較笨,只會用比較笨的解法, 只要在Client端的readLine() 後加上 '\n' 當EOF 就可以解決了。^^" 也就是改成這樣 String str=br.readLine()+'\n'; To chairs: 稍微說明一下程式目的,會讓人比較容易回答問題, 也比較不會誤解問題。 另外,其實你的測試用String都已經告訴你答案了。:P GL & HF -- String temp="relax"; | Life just like programing while(buringlife) String.forgot(temp); | to be right or wrong while(sleeping) brain.setMemoryOut(); | need not to say stack.push(life.running); | the complier will stack.push(scouting.buck()); | answer your life stack.push(bowling.pratice()); | Bone everything -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.240.57
文章代碼(AID): #14E9jBuH (java)
文章代碼(AID): #14E9jBuH (java)