参考 java 程序设计教程(第二版)雍俊海老师编著的书12章
服务器端程序设计模型的建立通常由如下五个步骤组成:
(1)在服务器端,首先要创建ServerSocket的实例对象,注册在服务器端进行连接的端口号以及允许连接的最大客户数目。
(2)调用ServerSocket的成员方法accept来等待并监听来自客户端的连接。当有客户端与改服务器端建立连接时,类ServerSocket的成员方法accept将返回连接通道在服务器端的Socket。套接字的类型是Socket,通过该套接字可以与客户端进行数据通信。
(3)调用类Socket的成员方法getInputStream和getOutputStream获得该套接字所对应的输入流(InputStream)和输出流(OutputStream)。当使用套接字网络上传送对象时候,需要进行序列化。
(4)通过获得的输入流和输出流与客户端进行数据通信,并处理从客户端获得的数据以及需要向客户端发送的数据。
(5)在数据通信完毕之后,关闭输入流、输出流和套接字(Socket)。
在服务器端创建类ServerSocket的实例对象,并且调用类Serversocket的成员方法accept之后,服务器端开始一直等待客户端与其连接。
客户端程序设计模型的建立通常由如下四个步骤组成:
(1)在客户端,创建Socket的实例对象,与服务器端建立连接。在创建Socket的实例对象时需要制定服务器端的主机名以及进行连接的端口号,即在服务器端构造类Serversocket实例对象时所注册的端口号。主机名与端口号完全匹配才能建立起连接,并构造出类Socket的实例对象。在构造出类Socket的实例对象之后的步骤与服务器端的相应步骤基本一致。
(2)调用类Socket的成员方法getInputStream和getOutputStream获得该套接字所对应的输入流(InputStream)和输出流(OutputStream)。当使用套接字网络上传送对象时候,需要进行序列化。
(3)通过获得的输入流和输出流与客户端进行数据通信,并处理从服务器端获得的数据以及需要向服务器端发送的数据。
(4)在数据通信完毕之后,关闭输入流、输出流和套接字(Socket)