Java程序猿之网络编程实现(30)

网络编程的实现过程我们已经很清楚了:

通过套接字找到要连接的服务器计算机

向服务器发送输出流

服务器接收输入流

经过以上三个步骤,从而实现客户端向服务器的通信;那根据Java面向对象的思想,其实每一步工作都有对象帮我们实现完成,我们只需让他们来做事;而完成网络编程的对象都位于java.net包中,名字叫socket;

我是客户端Socket,你把套接字给我,我负责打通到服务器端的通道;
Java程序猿之网络编程实现(30)_第1张图片

我是ServerSocket,我负责等着,看有没有客户端要来找我,在等待,一直在等待;

而且我只负责等待,当我等到了客户端,我会交给另一个对象,我服务器端Socket来接待,他跟客户端socket是同类,好说话;
Java程序猿之网络编程实现(30)_第2张图片

所以客户端和服务器端成功通信的步骤细化下来如下图:

1.客户端socket出发,通过套接字找到目标服务器端的ServerSocket应用程序
Java程序猿之网络编程实现(30)_第3张图片

2.服务器端ServerSocket一直都在,也一直在等待,等待有人请求连接;而当真的有连接到来,ServerSocket会礼貌的呼喊服务器产生的socket接待来宾
Java程序猿之网络编程实现(30)_第4张图片

3.客户端socket和服务器端socket亲切对话,实现信息交互;而ServerSocket自己又开始继续等待;

Java程序猿之网络编程实现(30)_第5张图片
4.有其他客户端socket出发,ServerSocket继续负责接待,同时呼喊另一个服务端socket进行信息处理
Java程序猿之网络编程实现(30)_第6张图片

具体的代码实现如下:

客户端socket:
Java程序猿之网络编程实现(30)_第7张图片

服务器端ServerSocket:

Java程序猿之网络编程实现(30)_第8张图片

你可能感兴趣的:(javaee,java,知了堂,知了堂Java,知了堂Java就业班,知了堂竹迩)