C#에서 소켓을 다시 시작하는 서버 응용 프로그램에 대한 단위 테스트를 작성하는 방법을 알아 내려고합니다. 요청을 처리하려면 소켓에서 읽어야합니다. Java에서 스트림을 사용하여 소켓을 피할 수 있으므로 단위 테스트를 작성할 때 문자열을 스트림으로 쉽게 변환 할 수 있습니다.소켓을 사용하는 단위 테스트 #
// ====== 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#에서 어떻게 얻을 수 있습니까? 그리고 스트림에 쓰고 다시 읽으면 메시지가 올바른지 확인할 수 있습니까?
아마도 [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
바이트가 []으로 뒷받침되는 경우 어떻게 소켓에서 읽을 수 있습니까? 프로그램은 문자열이나 소켓에 의해 생성 된 것이 든 관계없이 스트림을 얻을 수 있어야합니다. – dnanon