我想用TCP Socket發送一些數據; 鍵盤輸入正常。 也很好地重定向二進制文件。 但是 當我將/ dev/urandom重定向到stdin(java prog </dev/urandom)時沒有任何反應,沒有錯誤,沒有數據發送。Java Socket/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();
}
}
令人驚訝的是,您從未準備好發送無限量的數據? –