C/S(客户端/服务器)是我们比较熟知的服务架构,客户端与服务器的直接交互,没有中间环节,响应速度快。客户端向服务器发送请求,服务器监听客户端的请求并且返回响应数据。
在Java中我们可以使用套接字实现客户端与服务器的相连。套接字可以比喻做服务器开放端口号与客户端之间的一艘小船,客户端先向小船中放请求物品的清单,然后小船到服务器后,服务器对小船中的清单读取,然后向小船放入相关物品,将小船返回到客户端,客户端搬运得到原本清单上的实际物品。实现一次简易的客户端服务器的数据交互。而服务器对清单的读取和物品的搬入和客户端对需要物品的清单的陈列and物品的搬运都是通过IO流来实现。
我们启动如上代码的服务器
服务器会一直等待客户端的请求
这时候我们可以提供浏览器或者命令行通过访问该服务器的ip地址的端口号,来尝试去获取服务器的数据,调用本地服务器地址127.0.0.1或者之间在浏览器输入localhost,当然我们也可以通过命令行获取我们电脑的ip地址通过别的电脑来获取我们电脑上服务器的内容。
服务器也可以根据访问的路径不同提供不同的数据
这样我们就实现了简易的服务器与客户端的交互。