作者:禅与计算机程序设计艺术
文章目录
1.背景介绍
计算机网络(英语:Computer network)或互联网(Internet),是指由计算机及其通信设备组成的分布式系统,利用通信技术实现信息传输、电子商务、远程管理、网上交流等功能。Internet是一个世界范围内跨地域、跨国界的计算机网络系统,由众多网络服务提供商所共同构建和维护,是全球公用的基础设施网络。
从本质上来说,网络就是一个连接各个计算机节点(计算机设备、主机、路由器)的一组规则,这些规则使得不同节点之间可以交换数据、发送消息、共享资源和协作工作。而Socket(套接字)则是实现网络通信的一种方式,它是应用层与TCP/IP协议族间的一个抽象层,应用程序使用该接口通过 sockets 向网络发出请求或者应答网络请求,并接收返回的数据。因此,理解 Socket 的概念对于理解网络编程至关重要。
网络编程主要涉及两种基本操作:客户端-服务器模型和分布式系统模型。在客户端-服务器模型中,服务端提供可供客户端访问的服务,客户端则可以通过 socket 将请求发送给服务端,服务端处理请求后将结果返回给客户端;在分布式系统模型中,客户端直接跟踪服务端资源,不需要知道真正提供服务的是哪台机器,而且可以随时添