Client生命周期
-
创建socket
-
绑定地址
-
发起连接
-
关闭连接
Server生命周期
-
创建socket
-
绑定(bind)地址端口
-
监听网络连接
-
接受连接
-
关闭连接
二、Android实现Socket的通信
我们在基本了解Socket通信的大致过程和基本概览后下面开始介绍如何在Android上实现它:
1.使用ServerSocket创建TCP服务器端
因为在两个通信实体没有建立虚拟链路之前,必须要有一个通信实体先做出主动姿态,主动接收来自其他通信实体的连接请求,所以我们要先创建一个TCP服务器端来接收连接请求。
Java中能接收其他通信实体连接请求的是ServerSocket,ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一直处于等待状态。ServerSocket包含一个监听来自客户端请求的方法。
- Socket accept():如果接收到一个客户端Socket的连接请求,该方法将返回一个与连接客户端Socket对应的Socket;否则该方法将一直处于等待状态,线程也被阻塞。
为了创建ServerSocket对象,ServerSocket类提供了一下几个构造方法:
-
ServerSocket(int port):用指定的端口port来创建一个ServerSocket。该端口应该有一个有效的端口整数值0~65535。
-
ServerSocket(int port,int backlog):增加一个用来改变连接队列长度的参数backlog。
-
ServerSocket(int port,int backlog,InetAddress localAddr):在机器存在多个IP地址的情况下,通过localAddr这个参数来指定将ServerSocket绑定到指定的IP地址。
在ServerSocket使用完毕后,应使用ServerSocke