NetworkStream类提供了用于通过发送和接收数据的方法Stream处于阻止模式套接字。
使用Write和Read方法用于简单的单线程同步阻塞 I/O。 如果你想要处理 I/O 使用单独的线程,请考虑使用BeginWrite并EndWrite方法,或BeginRead和EndRead方法进行通信。
读取和写入操作可以同时执行的实例上NetworkStream类,而无需同步。 只要没有个写入操作的一个唯一线程和读取操作的一个唯一的线程,读取之间将存在交叉引用和写线程并没有进行的同步不需要。
属性
CanRead 获取一个值,该值指示 NetworkStream 是否支持读取。
CanSeek 获取一个值,该值指示流是否支持查找。 当前不支持此属性,它始终返回 false。
CanTimeout 指示超时属性是否可用于 NetworkStream。
CanWrite 获取一个值,该值指示 NetworkStream 是否支持写入。
DataAvailable 获取一个值,该值指示在要读取的 NetworkStream 上是否有可用的数据。
Length 获取流上可用数据的长度。 此属性当前不受支持,总是引发 NotSupportedException。
Position 获取或设置流中的当前位置。 此属性当前不受支持,总是引发 NotSupportedException。
Readable 获取或设置一个值,该值指示 NetworkStream 是否可以读取。
ReadTimeout 获取或设置读取操作阻止等待数据的时间。
方法
BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 从 NetworkStream 开始异步读取。
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 开始向流异步写入。
Close(Int32) 等待指定的时间获许发送数据之后,关闭 NetworkStream。
CopyTo(Stream) 从当前流中读取字节并将其写入到另一流中。
(Inherited from Stream)
CopyTo(Stream, Int32) 使用指定的缓冲区大小,从当前流中读取字节并将其写入到另一流中。
(Inherited from Stream)
CopyToAsync(Stream) 从当前流中异步读取字节并将其写入到另一个流中。
(Inherited from Stream)
CopyToAsync(Stream, Int32) 使用指定的缓冲区大小,从当前流中异步读取字节并将其写入到另一流中。
(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken) 使用指定的缓冲区大小和取消令牌,从当前流中异步读取字节并将其写入到另一个流中。
(Inherited from Stream)
CreateObjRef(Type) 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
(Inherited from MarshalByRefObject)
CreateWaitHandle() 分配 WaitHandle 对象。
(Inherited from Stream)
Dispose() 释放由 Stream 使用的所有资源。
(Inherited from Stream)

NetworkStream相关推荐

  1. NetworkStream.write只能使用一次,后面再使用无效

    public delegate void ShowMessageMethod2(TcpClient tc);private void ShowMessage2(TcpClient tc){String ...

  2. c# tcp备忘及networkstream.length此流不支持查找解决

    服务端 bool isRunning = true;   MouseKeyBoard mk = new MouseKeyBoard(); void InitTcpServer(int port){Th ...

  3. 【转】C# 数据流详解(FileStream、MemoryStream、NetworkStream等类)

    本文章内容主要为数据流及相关辅助类: 流(Stream).文件流(FileStream).内存流(MemoryStream).网络流(NetworkStream).加密流(CryptoStream)以 ...

  4. 【Stream—7】NetworkStream相关知识分享

    一.NetworkStream的作用 和先前的流有所不同,NetworkStream的特殊性可以在它的命名空间中得以了解(System.Net.Sockets),聪明的你马上就会反应过来:既然是在网络 ...

  5. socket与TcpListener/TcpClient/UdpClient 的区别及联系

    点击此处下载源代码 应用程序可以通过 TCPClient.TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务.这些协议类建立在 Sys ...

  6. DotNET(C#) Socket基本编程 (1)

    Socket基本编程 服务端: using System.Net; using System.Net.Sockets; using System.Text; using System.Threadin ...

  7. 将Byte数组转化为String

    FCL得很多方法的返回值都是包含字符的Byte数组而不是返回一个String,这样的方法包含在如下的类中: · System.Net.Sockets.Socket.Receive · System.N ...

  8. EMAIL发送系统(C#+基于SMTP认证) 2.0

    这个是对于 EMAIL发送系统(C#+基于SMTP认证) 1.0 的改版这个第一版是2002年11月写的,过了一年半了,才有人提意见,就修正了一下,因为后来做的项目一直用不上,也就没有注意到 前段时间 ...

  9. 用C#实现基于TCP协议的网络通讯

    TCP协议是一个基本的网络协议,基本上所有的网络服务都是基于TCP协议的,如HTTP,FTP等等,所以要了解网络编程就必须了解基于TCP协议的编程.然而TCP协议是一个庞杂的体系,要彻底的弄清楚它的实 ...

最新文章

  1. FAST选址与三维仿真模拟研究
  2. Objective-C 执行外部命令
  3. python argvparser_Python命令行参数argv和argparse该如何使用
  4. RocketMQ源码解析:Producer发送消息+Broker消息存储
  5. OpenCV内置OpenCV的实例(附完整代码)
  6. C# 强大的新特性 Source Generator
  7. 手摸手深入理解JVM虚拟机--在MacOS系统上编译OpenJDK12并使用CLion调试靠谱教程
  8. 全网最全-Java简历优化-优质项目经历
  9. Linux(Centos7)日志管理
  10. Android device owner简述
  11. C++中break与continue的用法
  12. Java 截取字符串
  13. uni-app实战之社区交友APP(4)首页开发
  14. 基于java+ssm+mysql的大学生考勤管理系统及智能分析系统
  15. ~ 如何用C++自制一个日麻游戏 ~(一)大体框架构建 § 2 数据结构
  16. 2022年湖南省证券从业资格(证券投资基金)练习题及答案
  17. C#:使用Spire.xls写Excel数据
  18. 2022-2028全球对叔辛基苯酚行业调研及趋势分析报告
  19. c++容器vector删除元素erase()与迭代器的使用
  20. android 实例-个人理财工具 之六,Android 个人理财工具五:显示账单明细 上

热门文章

  1. 赛迪全球科技产业动态周报(第二十五期)发布!
  2. matlab程序员得浪漫,程序员的浪漫  - 工程师的浪漫,用Matlab表达我对你的爱
  3. B 站弹幕 protobuf 协议还原分析
  4. 完美世界跟金亚科技联合宣布推出电视游戏智能盒——完美盒子。
  5. 7-1 给出成绩等级 (6 分)编写一程序实现以下功能从键盘输入一个一百分制成绩,如果不在0~100范围内,则要求重新输入数据,直到输入的数据在0~100范围内。将输入的数据转换成等级‘A’
  6. 啊哈添柴挑战Java1652. 桶排序练习(一个萝卜一个坑)
  7. ultraedit运行java_如何在UltraEdit中编译和运行Java程序
  8. 【20160612-20160618】记一周省常中训练(持续更新,欢迎催更)
  9. 虚拟服务器至强,解析新至强:选对平台是虚拟化的关键
  10. 【汇正财经】什么是复盘?