Re: [問題] socket 傳輸輸入字串的問題
※ 引述《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
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章
14
39