2011-07-04 38 views
1

在服務器應用程序中,我正在偵聽套接字並使用InputStreamReader進行讀取。我可以發送給InputStream來表示EOF已經達到了什麼?

客戶端是一個簡單的bash腳本,我在其中執行以下操作以寫入套接字和打印從它的輸出:

#!/bin/bash 
exec 3<>/dev/tcp/localhost/9999 
echo -e some_text >&3 
cat <&3 

我沃爾德想表明EOF我通過echo送我的數據後, ,原因是java應用程序收到發送的數據,但繼續阻塞等待更多。我需要表明這一行是唯一的輸入。

回答

3

link表明你做

exec 3>&- 

使用谷歌找到。 ;)


要關閉在Java端

outputStream.close(); 
+0

這會從服務器端完成。我需要bash shell腳本向服務器表明它已完成發送數據。 –

+0

在服務器上我們有:while((input = inputReader.readline())!= null),我需要readLine()返回null,當它遇到EOF時它會執行。我試圖弄清楚的是如何從Bash shell腳本發送EOF標記。 –

+0

這個鏈接表示你執行'exec 3>& - 'http://tldp.org/LDP/abs/html/io-redirection.html –

相關問題