613-访问网络数据和服务(高级3).pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
613-访问网络数据和服务(高级3)

Socket介绍 Socket(套接字)用于开发任何基于IP协议的网络程序 基于TCP协议的应用开发(SOCK_STREAM) 基于UDP协议的应用开发(SOCK_DGRAM) 客户端开发(Client) 服务器端开发(Server) Socket开发流程 Socket与上层应用协议的关系 Java Socket API TCP Socket客户端示例 TCP Socket服务端示例 UDP Socket客户端示例 UDP Socket服务端示例 本章主要包括两部分内容: 1、对象序列化 2、使用XML传输对象 GET方法是HTTP协议中最常用的方法之一,使用非常简单。当使用GET方法向服务器端发送数据时,数据被包装在URL地址中,以name=value的形式传输,如果需要传输多个name=value,那么之间使用“”分割。 * 在HttpClient中,HttpGet类用于向服务器端提交一个HTTP请求,由于GET方法的数据封装在URL之中,因此使用HttpGet类非常容易,只需要通过构造器构造一个HttpGet对象即可。有两点需要说明:第一,由于GET方法将数据放在URL中传递,如果URL中包含了保留的字符,那么需要对参数做URL编码。这就是为什么在GetTask中的params都经过URLEncoder编码之后才发送给服务器的原因。第二,客户端需要知道服务器端返回内容的编码格式,否则可能出现乱码。这里,使用EntityUtils的getContentCharSet()方法获得了编码格式。 使用GET方法的代码示例如下所示。 * 虽然GET方法使用起来非常简单,但是存在一定的限制。由于URL的长度是有限制的,不能超过256个字符,因此使用GET方法不能传递大量的数据。另外,客户端请求的URL通常会出现在服务器的日志中,这不利于数据的保密。综合这两方面的限制,在设计联网应用程序时,要慎重选择GET作为传输方法。 * 使用POST方法向服务器端发送数据更为灵活,支持的内容类型也更丰富。由于发送的数据位于HTTP头之后,而不是在URL中,因此数据传输更为隐蔽。使用POST方法传输数据时,设置合适的Content-Type非常重要。常用的Content-Type有以下3种方式, application/x-www-form-urlencoded application/octet-stream multipart/form-data * 将Content-Type设置为application/x-www-form-urlencoded方式,数据将以“名称=数值”对的方式发送给服务器,数据之间以“”分割,这些数据并非在URL中传输,而是跟在HTTP头之后。这种数据传输格式主要用在HTML表单的数据提交中,HttpClient也对这种方式提供了支持,使用UrlEncodedFormEntity可以很容易构建发送的内容。使用HttpClient提交POST请求如代码所示。 * 使用application/octet-stream方式传输数据非常自由,所有的数据都以二进制形式存放在HTTP头之后。你可以按照自己的需求组织数据格式,可以同时传输文本和文件等内容。只是使用这种传输方式,服务器端也必须对数据进行解析,从中读取文本和文件内容。 使用HttpClient提交POST请求的代码如下所示。 * 顾名思义,multipart/form-data代表数据中包含多个部分,因此这种格式可以一次传输多个数据体,比如多个name=value和多个图片。multipart/form-data广泛用在HTML表单数据提交中,允许用户在多个文本框中输入数据,同时通过浏览框选择文件向服务器端上传。所有的数据以预先定义的边界(一长串字符串)分割,每个部分都有一个content-disposition的header,其值为form-data。除此之外,还需要一个name属性用来标识这个字段,例如,content-disposition: form-data; name=“ophone”。 下面是一个multipart/form-data格式的POST请求。 * 上传文字和图片的难点在于构造符合multipart/form-data格式的数据,遗憾的是,OPhone平台并没有直接提供相关的类,HttpClient 3.0中的MultipartRequestEntity并未出现在OPhone中。不过,我们可以使用ContentProducer来动态生成内容,只要内容符合multipart/form-data格式即可。按照RFC1867规范的定义,ContentProducer的源码如下所示。 * 获得了ContentProducer之后,即可构建HttpEn

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档