C# içinde soket gerektiren bir sunucu uygulaması için birim sınamalarının nasıl yazılacağını anlamaya çalışıyorum. İsteğin işlenmesi için bir soketten okumam gerekiyor. Java'da Streams kullanarak soketlerden kaçınabildim, bu yüzden birim testleri yazarken bir dizeyi kolayca bir akıma dönüştürebiliyordum. C# birim sınama kullanarak sınamalar
// ====== 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);
Sadece NetworkStream() bulundu ama aynı zamanda bir soket gerektirir.
Bunu C# 'da nasıl yapabilirim? Ve bir Akışıma nasıl yazabilirim ve mesajın doğru olup olmadığını görmek için tekrar okuyabilir miyim?
Belki [MemoryStreambaytlık] (http://msdn.microsoft.com/en-us/library/system. bir byte [] tarafından desteklenen io.memorystream.aspx). Bir dize yazmak istiyorsanız ve "kodlama" için bir kodlama yapmanız gerekiyorsa [Encoding.GetBytes] gibi bir kodlama kullanabilirsiniz (http://msdn.microsoft.com/en-us/library/ds4kkd55%28v=vs .100% 29.aspx) dizgeyi byte'a çevirmek için [] – nkvu
byte [] ile destekleniyorsa, bir soketten okumak için nasıl kullanabilirim? Programın dize veya soket ile yaratılıp yaratılmamış olursa olsun bir akış elde edebilmesi gerekir. – dnanon