Android应用开发项目式教程 课件 项目8 智能家居——网络通信.pptx

Android应用开发项目式教程 课件 项目8 智能家居——网络通信.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,保证了两台计算机之间可靠无差错的数据传输。

TCP协议传送速度较慢,但传送的数据比较可靠。

由于TCP协议的面向连接特性,它可以保证传输数据的安全性和完整性,所以是一个被广泛采用的协议,例如在下载文件时,如果数据接收不完整,将会导致文件数据丢失而不能被打开,因此,下载文件时必须采用TCP协议。;TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端则都需要创建Socket对象。

TCP通信与UDP通信的其中一个主要区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据;

而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端。;JDK中提供了ServerSocket类,表示服务器端;Socket类表示客户端。

通信时,首先要创建代表服务器端的ServerSocket对象,该对象相当于开启一个服务,并等待客户端的连接;然后创建代表客户端的Socket对象,并向服务器端发出连接请求,服务器端响应请求,两者建立连接后可以正式进行通信。;ServerSocket()

该构造方法在创建ServerSocket对象时并没有指定端口号,使用时还需要调用bind(SocketAddressendpoint)方法将其绑定到指定的端口号上。

ServerSocket(intport)

该构造方法在创建ServerSocket对象时,可以绑定到指定的端口号上。如果port参数值为0,此时系统就会分配一个未被其他程序占用的端口号。由于客户端需要根据指定的端口号来访问服务器端程序,因此端口号随机分配的情况并不常用,通常都会给服务器端指定一个端口号。;ServerSocket——常用方法;Socket()

该构造方法在创建Socket对象时,并没有指定IP地址和端口号,创建对象后还需调用connect(SocketAddressendpoint)方法,才能完成与指定服务器端的连接,其中参数endpoint用于封装IP地址和端口号。

Socket(Stringhost,intport)

该构造方法在创建Socket对象时,会根据参数去连接在指定地址和端口上运行的服务器程序,其中参数host接收的是一个字符串类型的IP地址。

Socket(InetAddressaddress,intport)

该方法在使用上与第2个构造方法类似,参数address用于接收一个InetAddress类型的对象,该对象用于封装一个IP地址。;Socket——常用方法;服务端与客户端通信图:;基于TCP协议的Socket通信的步骤:

服务器:

1、创建ServerSocket,绑定一个监听端口

2、通过accept()方法监听客户端请求

3、建立连接后,通过输入流读取客户端数据,通过输出流向客户端发送数据

4、关闭输入/输出流,关闭Socket

客户端:

1、创建Socket,需要指明服务器的IP地址和端口号

2、建立连接后,通过输出流向服务器发送数据,通过输入流读取服务器的响应信息

3、关闭输入输出流,关闭Socket;;;;;;;;;;;;;;;;;

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档