Я думаю, вы немного смущены. StreamReader
не является Stream
и StreamWriter
. Stream
ничего не знает о сетевом вводе-выводе, так как он абстрагируется дальше.
NetworkStream
- это поток, который знает, как разговаривать в сети, но StreamReader
и StreamWriter
работают с абстрактными Stream
ссылками (или, скорее, более абстрактными).
NetworkStream
использует класс Socket
, который под всем остальным на самом деле вызывает API Winsock, но вам не нужно ничего знать об этом, чтобы использовать его.
Нет ничего, что называется "каналом", возможно, вы могли бы быть более конкретным.