- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 C#网络程序开发基础精要
2.4.2 网络流 下面介绍如何使用NetworkStream收发网络数据。 获取NetworkStream实例 在构造一个NetworkStream实例后,就可以用它来收发网络数据。 利用TcpClient获取网络流对象: TcpClient tcpClient = new TcpClient(); tcpClient.Connect(“”,5188); NetworkStream myNteworkStream = tcpClient.GetStream(); 利用Socket获取网络流对象: NetworkStream myNetworkStream = new NetworkStream(mySocket); 2.4.2 网络流 下面介绍如何使用NetworkStream收发网络数据。 利用NetworkStream实例收发数据 使用NetworkStream发送数据的一个示例。 NetworkStream流收发数据的流程 2.4.2 网络流 使用NetworkStream实例时,需要注意下面几点: 通过DataAvailable属性,可以查看在缓冲区中是否有数据等待读出。 网络流没有当前位置的概念,因此它不支持对数据流的查找和随机访问。 网络数据传输完成后,须用Close()关闭NetworkStream实例。 2.4.3 网络数据编码与解码 在网路通信中,很多情况通信双方传达的是字符信息。但是字符信息不能直接在网络上传递,而是需要转换成一个字节序列后才能在网络中传输。 将字符序列转换为字节序列的过程称为编码。反之即为解码。 2.4.3 网络数据编码与解码 1. 常见字符编码方式 常见的字符编码方式有以下三种: ASCII字符集 非ASCⅡ字符集 Unicode字符集 通用转换格式,即UTF(Universal Transformation Format)。目前比较流行的是UTF-8、UTF-16、UTF-32。 2.4.3 网络数据编码与解码 ASCII字符集 ASCII字符集是美国信息交换标准委员会(American Standards Committee for Information Interchange)的缩写,在20世纪80年代由美国英语通信所设计。每个ASCII码由7位构成,整个ASCⅡ字符集由128个字符组成,包括大小写字母、数字0~9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)。 2.4.3 网络数据编码与解码 非ASCII字符集 由于ASCII字符针对英语设计,当处理汉字等其他字符时,这种编码就不能适用了。为解决这个问题,不同国家制订了自己的编码标准。我国一般使用国标码,常用的有GB2312和GB18030-2000编码,其中GB18030编码汉字更多,是我国计算机系统必须遵循的基础性编码标准之一。 2.4.3 网络数据编码与解码 Unicode字符集 由于每个国家都有自己的编码方式,要想打开一个文本文件,就必须知道其编码方式,否则出现乱码。为了让国际信息交流更加方便,国际组织制订了Unicode字符集。它为各种语言中的每一个字符规定了统一且唯一的字符。并且只需要2个字节,便可以表示地球上绝大部分地区的文字。 C#的默认字符都是Unicode码,一个英文和一个汉字一样,都占2个字节。 2.4.3 网络数据编码与解码 UTF-8: 是在因特网上使用最广泛的一种UTF格式。它是Unicode的一种变长字符编码,一般用1~4个字节编码一个Unicode字符,即将一个Unicode字符编为1~4个字节组成的UTF-8格式,根据不同的符号而变化字节长度。 UTF-8是与字节顺序无关的,它的字节顺序在所有系统中都是一样的,故此种编码可以使得排序变得容易。 UTF-16: 将每个码位表示为一个由1-2个16位整数组成的序列。 UTF-32: 将每个码位表示为一个32位整数。 2.4.3 网络数据编码与解码 2. C#中的编码与解码类 Encoding类 Encoder类和Decoder类 2.4.3 网络数据编码与解码 Encoding类 Encoding类位于System.Text命名空间中,主要用于在不同的编码和Unicode之间进行转换。 利用Encoding类的Convert方法可将字节数组从一种编码转换为另一种编码。方法原型为: Public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding,byte[] bytes) srcEncoding表示源编码格式。 dstEncoding表示目标编码格式。 Bytes为待转换的字节数组。 返回值为包含转换结果的Byte类型的数组。
您可能关注的文档
- 第2章 线性表精要.doc
- 第29题 题组三精要.docx
- 人教版九年级历史下册课件第9课西欧和日本经济的发展(共59张PPT)要点.ppt
- 第2卷 建筑结构工程施工质量验收资料精要.docx
- 人教版九年级语文《庄子》故事两则要点.ppt
- 第28课《观潮》(共78张PPT)精要.ppt
- 人教版九年级语文音乐之声课件要点.ppt
- 第27课答谢中书书(59张ppt)课件精要.ppt
- 第2章 LED封装精要.ppt
- 第2站《关爱他人》(低版本)精要.ppt
- 人教版五年级语文《我想》要点.ppt
- 人教版八上Unit1Wheredidyougoonvacation(5课时)导学案要点.doc
- 人教版五年级英语下册Unit3Myschoolcalendar课件PPT要点.ppt
- 人教版八上历史第9课新文化运动精品中学ppt课件要点.ppt
- 第2章 C54x的硬件结构精要.ppt
- 人教版八上复习第五单元人民解放战争的胜利要点.ppt
- 人教版二年级上册语文图文33活化石要点.ppt
- 人教版五年级英语下册Unit_3_My_school_calendar_课件PPT要点.ppt
- 人教版八下物理第十二章简单机械复习提升(31张幻灯片)要点.ppt
- 人教版二年级语文上册识字七要点.ppt
原创力文档


文档评论(0)