すいません、in out についての質問なんですが、
============================
public class player_receive extends Thread {
private int size;
private String msg;
private Socket socket;
byte[] w=new byte[10240];
public String getplayer_receive(){
return msg;
}
public player_receive(Socket socket) {
this.socket=socket;
}
public void run(){
while( true ){
try {
java.io.InputStream in = socket.getInputStream();
size=in.read(w);
msg=new String(w,0,size,"UTF8");
// in.close();
if ( msg != null ) {
break;
}
} catch (IOException e) {
}
}
}
}
============================
上のようなあるソケットから文字列を受け取るスレッドを作りました。
getplayer_receive()
を使って文字列をうけとるやつで
// in.close();
をコメントアウトしています。これだとうまくいきます。
in.close();
のコメントを外すと止まります。
うけとったときに msg に格納しているのでinは不要だと思うのですが、なぜでしょうか?
inをずっとクローズせずに、このスレッドをどんどん量産していった場合、どうなるでしょうか?