预计阅读本页时间:-
6.1.3 Socket应用及其他基础网络知识
随着TCP/IP协议的使用,Socket(套接字)也被越来越多地使用到网络应用程序的构建中。实际上,Socket编程已经成为了网络中传送和接收数据的首选方法。Socket相当于应用程序访问下层网络服务的接口,使用Socket,使得不同的主机之间可以进行通信,从而实现数据交换。Socket通信可用于在双方建立起连接后直接进行数据的传输,还可以在连接时实现信息的主动推送,而不需要每次都由客户端向服务器发送请求。Socket的主要特点包括数据丢失率低,使用简单且易于移植等。
Socket在工作的时候会将进行连接的两端分成服务器端和客户端,服务器程序将在一个众所周知的端口上监听服务请求,换句话说,就是服务进程始终是存在的,直到有客户端的访问请求唤醒服务器端进程为止,此时,服务器端进程会和客户端进程之间进行通信,交换数据。Socket服务器端和客户端通信的流程图如图6-3所示。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
图6-3 Socket服务器端和客户端通信过程流程图
关于网络的其他基础知识希望大家也能够有所了解和掌握,比如子网划分、UDP的连接原理、硬件防火墙的工作模式等,如果确实对网络这块不熟悉,建议先预习下网络基础知识和概念,这对于我们接下来掌握Linux防火墙的知识还是很有帮助的。无论你从事的是系统工作还是开发工作,基础的网络知识都是必不可少的,推荐大家有时间阅读一下基础网络知识,限于篇幅,本书就不做详细说明了。