CSharp第04章节套接字与数据流.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CSharp第04章节套接字与数据流

4.1.2 无连接的套接字 1.创建本地Socket 2.调用Bind方法绑定到本地端点 3.接收数据ReceiveFrom 1.创建本地Socket 4.发送数据SendTo 4.接收数据ReceiveFrom 5.Close() 5.Close() 机器1 机器2 2.调用Bind方法绑定到本地端点 3.发送数据SendTo 4.1.2 无连接的套接字 Socket() Bind() ReceiveFrom() SendTo() Close() Socket() Bind() SendTo() ReceiveFrom() Close() 设备1 设备2 无连接套接字编程 4.2 数据流 流(stream)是对串行传输的数据(以字节为单位)的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等。 4.2 数据流 流提供三种基本操作: 写入:将数据从内存缓冲区传输到外部源。 读取:将数据从外部源传输到内存缓冲区。 查找:重新设置流的当前位置,以便随机读写。需要注意的是,并不是所有的流类型都能够支持查找,例如,网络流没有当前位置的统一概念,因此一般不支持查找。 说明:Stream类提供有多种操作流的方法,其中Read和Write方法是Stream类及其派生类都提供的实现,可支持在字节级别上对数据进行读写。实际的程序开发中,仅支持字节级别的数据处理会给开发人员带来不便。 4.2 数据流 .NET Framework提供一些类能够以字符串或二进制方式读取或写入流。 优点: 方法更灵活; 部分方法可解决TCP消息通信无边界问题; 4.2.1 FileStream类 FileStream类继承于Stream类,一个FileStream类的实例实际上代表一个磁盘文件,使用FileStream类可以对文件系统上的文件进行读取、写入、打开和关闭操作。 1、创建FileStream实例 (1)常用的构造函数具有三个参数,例如: FileStream(string path, FileMode mode, FileAccess access) 4.2.1 FileStream类 FileMode值用于指定当文件不存在时是否创建该文件,并确定是保留还是改写现有文件的内容 4.2.1 FileStream类 FileAccess值是枚举的一个成员,它控制对文件的访问权限。表4-10列出了FileAccess所有的枚举形式 (2)File和FileInfo类也提供了创建FileStream对象的方法。其中,OpenRead方法返回只读文件流,OpenWrite方法返回只写文件流。 例如:FileStream fs= File.OpenRead(C:\\File1.txt); 4.2.1 FileStream类 2. 读文件 在获取FileStream实例之后,可利用FileStream对象的Read方法读取文件中的数据。该方法用于从流中读取字节块并将该数据写入给定字节数组中。其语法形式为: public override int Read(byte[] array,int offset, int count) array : 存储从文件流中读取的数据。 offset : array字节数组中开始写入数据的下标,一般为0。 size : 要从文件流中读出字节的大小 返回值: 从FileStream中读取的字节数。 【例4-2】利用FileStream的Read方法从一个文本文件中读取内容并显示在屏幕上。 4.2.1 FileStream类 3. 写文件 Stream类及其所有子类都提供了Write方法,FileStream类也不例外。该方法可将字节数组写入流。语法形式为 public override void Write ( byte[] buffer, //包含要写入流的数据 int offset, // buffer中开始写入数据的位置 int size //要写入流的字节数 ) 【例4-3】利用FileStream的Write方法向文本文件中追加数据。 4.2.2 MemoryStream类 MemoryStream类表示的是保存在内存中的数据流。由内存流封装的数据可以在内存中直接访问。 MemoryStream类的构造函数具有多种重载形式,常用的构造函数有: (1)MemoryStream () 该构造函数初始分配的容量大小为0,随着数据的不断写入容量可以不断扩展。 (2)Memo

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档