我想弄清楚如何編寫單元測試的服務器應用程序,請求在C#中的套接字。我需要從套接字讀取以便處理請求。在Java中,我可以通過使用流避免套接字,所以在編寫單元測試時,我可以輕鬆地將字符串轉換爲流。c#單元測試使用套接字
// ====== Input ======
InputStream socketInputStream = new InputStream(socket.getInputStream());
// or using string instead like this
InputStream socketInputStream = new ByteArrayInputStream("string".getBytes());
BufferedReader in = new BufferedReader(new InputStreamReader(socketInputStream));
// ====== Output ======
OutputStream socketOutputStream = new OutputStream(socket.getOutputStream());
// I need to write byte[] to the stream
BufferedOutputStream out = new BufferedOutputStream(socketOutputStream);
我只找到NetworkStream(),但它也需要一個套接字。
我怎樣才能在C#中實現這一目標,所以我可以創建沒有套接字的Streams? 我如何寫入一個Stream並再次閱讀它,以查看該消息是否正確?
也許[的MemoryStream(http://msdn.microsoft.com/en-us/library/system。 io.memorystream.aspx),它由一個byte []支持。如果你想寫一個字符串,你可以「編碼」一種編碼,你可以使用像[Encoding.GetBytes](http://msdn.microsoft.com/en-us/library/ds4kkd55%28v=vs .100%29.aspx)將字符串轉換爲一個字節[] – nkvu 2013-03-20 21:13:39
如果它是由byte []支持的我如何使用它,從套接字讀取?該程序必須能夠獲取流,無論它是由字符串還是套接字創建 – dnanon 2013-03-20 21:22:51