我的應用程序打開NetworkStream和StreamWriter以將HL7消息發送到服務。 該服務接收到HL7消息並始終發回確認。我有以下問題:在發送HL7消息(工作,我測試它)後,我嘗試使用s StreamReader從服務接收確認,但這導致了一個參數異常「數據流不可讀」。我調試到我的代碼中,發現連接在StreamWriter的使用塊之後關閉,因此StreamReader沒有任何可讀的內容。NetworkStream的連接自動關閉
這裏是我的代碼:
public static void SendMessage(string message, string ip, int port)
{
string acknowledge;
try
{
using (TcpClient client = new TcpClient(ip, port))
{
using (NetworkStream networkStream = client.GetStream())
{
using (StreamWriter clientStreamWriter = new StreamWriter(networkStream))
{
clientStreamWriter.Write(message);
}
using (StreamReader clientStreamReader = new StreamReader(networkStream))
{
acknowledge = clientStreamReader.ReadToEnd();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("Connection Problems: " + ex.ToString());
}
}
我怎麼能阻止被關閉了連接,因爲我想要閱讀的客戶端接收的HL7的消息後,發回確認?
可能重複http://stackoverflow.com/questions/2666888/is-there-any-way-to-close-a -streamwriter-without-closing-its-basestream) – 2014-09-01 11:09:29
這有助於很多,謝謝! – 2014-09-01 11:35:42