我试图弄清楚如何为需要 C# 中的套接字的服务器应用程序编写单元测试。我需要从套接字读取以处理请求。在 Java 中,我可以通过使用 Streams 来避免使用套接字,因此在编写单元测试时,我可以轻松地将字符串转换为流。
// ====== 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# 中实现这一点,以便我可以创建没有套接字的流?以及如何写入 Stream 并再次阅读以查看消息是否正确?