理论教育 网络编程概述:发送和接收两种通信方式

网络编程概述:发送和接收两种通信方式

时间:2023-10-22 理论教育 版权反馈
【摘要】:网络编程的主要工作分为发送信息和接收信息两种。按照网络分层体系结构,套接字处于传输层。传输层以上不同进程间的通信是端到端的通信,这个端点就是套接字。应用程序通常通过套接字向网络发出请求/响应,或者从套接字接收请求/响应。并不是所有网络编程都使用套接字,传输层以下的通信以点到点方式进行,采用的是更为直接的通信形式。

网络编程概述:发送和接收两种通信方式

网络将不同地域的具有独立功能的计算机系统和设备,通过通信设备和通信链路按照一定的形式连接起来,并且使用功能完善的网络软件实现网络资源共享。其中完善的网络软件就是指网络协议,借助网络协议,网络编程可以使得不同主机中运行的进程之间互相通信。

网络编程的主要工作分为发送信息和接收信息两种。发送信息就是把信息按照网络协议的规定组装数据包,并将数据包交给硬件通信设备实施发送;接收信息正好与之相反,先从硬件通信设备接收数据包,再按照事先规定好的协议对包进行解析,提取出有意义的信息。

网络编程的这种发送和接收机制可以用客户/服务器(Client/Server,C/S)模型来描述,如图4-1所示,客户机向服务器发出请求,服务器接收请求,并对其进行处理,将结果作为响应发回客户机。

978-7-111-34360-8-Chapter04-1.jpg

图4-1 客户/服务器模型

例如,Internet中浏览器访问某一Web站点时会有以下几个步骤。

1)客户发出请求,就是在浏览器中输入的URL,该URL被按照HTTP规定的格式打包,并被发送至Web服务器端。(www.daowen.com)

2)服务器接收到HTTP请求包后对其进行解析,识别出其中的URL,并找到作为URL一部分的HTML文档。

3)服务器将该文档按照HTTP协议规定的格式打包,并发回客户端。

4)客户端的浏览器接收到HTTP响应包后同样需要对其进行解析,读出HTML文档,再按照文档中标记的描述显示HTML文件内容。

注意,这里所说的客户机、服务器并不是指某一台计算机,而是指运行在这台计算机中的某一进程。TCP/IP网络使用套接字(Socket)来标识进程。

套接字由IP地址和端口号组成,是一个通信链的句柄。按照网络分层体系结构,套接字处于传输层。传输层以上不同进程间的通信是端到端的通信,这个端点就是套接字。应用程序通常通过套接字向网络发出请求/响应,或者从套接字接收请求/响应。

并不是所有网络编程都使用套接字,传输层以下的通信以点到点方式进行,采用的是更为直接的通信形式。例如,两台通过电缆直接相连的主机进行通信,不需要使用TCP/IP协议,读取或发送数据由进程直接操作硬件接口

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈