Я не знаю определенные инструменты, но существуют некоторые утилиты, которые записывают / щелчки воспроизведения. Другими словами, Вы могли автоматизировать "щелчок" по диалоговому окну печати. (Я знаю, что это - взлом, но когда все остальное перестало работать...)
The overall structure of your code looks right.
byteRead = stream.Read(buffer, 0, 1000);
will block until all of the response data is retrieved from the server. If the remote server shuts down the connection (timeout, etc), 0 will be returned.
See the remarks found here.
The framework will properly deal with packets lost during network operations - don't worry about them.
public string Method()
{
m_Client = new TcpClient();
m_Client.Connect(m_Server, m_Port);
m_Stream = m_Client.GetStream();
m_Writer = new StreamWriter(m_Stream);
m_Reader = new StreamReader(m_Stream);
m_Writer.WriteLine(request);
m_Writer.Flush();
return m_Reader.ReadToEnd();
}