TCPソケットを使用してデータを送信したいです。 キーボード入力はOKです。 バイナリファイルも正しくリダイレクトされます。 しかし 私は/ dev/urandomをstdinにリダイレクトすると(java prog </dev/urandom)、何も起こりません。エラーもデータも送信されません。Javaソケット/ TCPと/ dev/urandom
public class P1{
static DataInputStream dis = new DataInputStream(System.in);
int port = 12345;
String host = "127.0.0.1";
Socket p1Socket;
DataOutputStream out;
byte data;
void run() {
try{
p1Socket = new Socket(host, port);
out = new DataOutputStream(p1Socket.getOutputStream());
while (dis.available() >0){
data = dis.readByte();
out.write (data );
}
out.flush();
out.close();
p1Socket.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]) throws IOException {
P1 p1 = new P1();
while (dis.available() <=0);
p1.run();
}
}
無限のデータを送信する準備をしていないのは驚くべきことですか? –