计算机网络(3):服务端的应用是如何接受数据包的

🏰 365bet手机在线投注 📅 2025-10-20 19:54:07 👤 admin 👁️ 8482 👑 250
计算机网络(3):服务端的应用是如何接受数据包的

针对计算机网络的分层,我们看下各层是由谁实现的

上图比较清晰的给出了答案,应用层由用户进程实现(比如tomgcat、netty等服务器组件),传输层和网络层由内核实现,链路层由网卡驱动实现,物理层就是网卡以及网线等物理材料。

数据收发准备工作

服务器接收客户端的请求之前,要做一系列的准备工作。

服务器需要同时和多个客户端通信, 但一个程序来处理多个客户端的请求是很难的, 因为服务器必须把握每一个客户端的操作状态。 每有一个客户端连接进来, 就启动一个新的服务器程序。首先, 我们将程序分成两个模块, 即等待连接模块和负责与客户端通信的模块。当服务器程序启动并读取配置文件完成初始化操作后, 就会运行等待连接模块。接下来, 当客户端连发起连接时, 这个模块会恢复运行并接受连接,然后启动客户端通信模块, 并移交完成连接的套接字。

在数据收发层面, 客户端和服务端是能够以左右对称的方式自由发送数据,也就是说TCP及以下层级在发送数据这一方面对于客户端和服务端并无二样。但是有一个层面是无法左右对称的,那就是连接,只有一个端在等待接收连接,另一个端才可以发起连接。我们称等待连接的一方为服务端,发起请求的一端是客户端。

服务端主要的步骤有:

1、创建套接字

2、调用 bind 将端口号写入套接字中

3、协议栈会调用 listen 向套接字写入等待连接状态这一控制信息

4、协议栈会调用 accept 来接受连接

5、包达到后,复制一个副本(即创建一个新的套接字)与客户端通信

<

皇家推荐

研二电子怎么样?
365bet手机在线投注

研二电子怎么样?

📅 10-11 👁️ 6346
【图】个性化私人座驾!测试马自达睿翼 2.5
365bet手机在线投注

【图】个性化私人座驾!测试马自达睿翼 2.5

📅 08-05 👁️ 480
牛鬼蛇神是指什么生肖,打一正确生肖原文解答解释落实
堡垒之夜中文版怎么下载登录
Microsoft365个人版

堡垒之夜中文版怎么下载登录

📅 07-21 👁️ 250
一到秋天,这6万亩枫林就美成天堂,庆幸少有人知
法治面|世界杯即将开赛,网络赌球如何量刑?
Microsoft365个人版

法治面|世界杯即将开赛,网络赌球如何量刑?

📅 07-14 👁️ 3225