如何理解客户端和服务器端
-
首先我们可以将客户端和服务器端看做是两个岛屿 :
- 服务器岛
- 客户端岛
-
其次这个时候我们从客户端向服务器端发送数据就可以看为:从服务器岛向客户端岛传输数据
-
我们传输物资就需要船(Socket)来传输
- 这个时候我们给船(Socket)指明:
- 目的地(IP + 端口号)
- 出发地(客户端所在地址)
- 物资(数据—> 通过IO流传输)
-
这个时候我们的船携带者物资找到指定岛屿(IP)的指定港口(端口)
-
然后还要看指定港口是否打开(也就是服务器端的ServerSocket对象是否调用了accept()方法)
- 如果没有调用accept()方法就不能获取到数据
-
如果指定港口是打开的,这个时候传输就成功了