引言:你是否曾经在浏览网页或观看视频时遇到过卡顿?你是否知道,这背后其实有一个不为人知但非常强大的“幕后英雄”?它就是——TCP协议。在我们的日常网络活动中,几乎所有的互联网服务都离不开TCP协议。那它究竟是什么?如何工作?为什么它能确保我们的数据传输准确无误呢?今天,我们就带你深入了解TCP协议的奥秘。1. 什么是TCP协议?TCP(Transmissio …
socket listen
Moutxing读完需要6分钟速读仅需 2 分钟上一篇说了计算机网络的 TCP 与 UDP协议基础知识,今天我们接着说套接字 Socket 基础理论理解。一、何为套接字套接字是指通过软件来实现作为插口或者插槽,一端插在客户端,一端插在服务端。Socket 编程进行的是端到端的通信,往往意识不到中间经过多少局域网,多少路由器,因此,能设置的参数也只能是端到端的 …
OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构每层都可以有几个子层。 OSI的7层从上到下分别是7 应用层-- HTTP协议6 表示层 5 会话层 4 传输层 -- TCP协议3 网络层 -- IP协议2 数据链路层 1 物理层 其中高层(即7、6、5、4层)定义了应用程序的功能下面3层(即3、2、1层)主要面 …
一、adb介绍adb:Android Debug Bridge,Android 调试桥的缩写,adb 是一个 CS 架构的命令行工具,主要由 3 部分组成:运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接运行在 A …
背景在学习 SO_REUSEADDR 地址复用的时候,看到有人提到了 SO_REUSEPORT 。于是也了解了一下。SO_REUSEPORT 概述SO_REUSEPOR这个socket选项可以让你将多个socket绑定在同一个监听端口,然后让内核给你自动做负载均衡,将请求平均地让多个线程进行处理。SO_REUSEPORT解决了什么问题SO_REUSEPORT …
“本文主要包含两个方面,一是从计算机网络分层模型出发,分析每一个层的功能,以及TCPIP协议栈的实现;二是介绍TCP相关面试常考点。”一. TCPIP协议栈实现开局一张图,计算机网络体系结构如下:network-layers本文将采用右侧五层模型从下往上依次讲解,详细讲述每一层的协议和作用,并且会层层介绍协议头如何实现,其中数据链路层、网络层和传输层属于内核 …
题外话悲剧由此开始,虽然哥们儿国内非知名工科大学毕业,但好歹也是科班CS出身,但大学得过且过,什么TCPIP协议,什么socket了都没概念。为了做出一个简单的支持广播的websocket server,在网上找了很多相关代码,左抄一句,右抄一句,弄了一个星期竟然还是漏洞百出,调试不起来,只好从头来过了,先补一些基本知识,然后再一步步根据原理实现,今天终于实 …
关于Socket那些事Socket,即网络套接字,是双向通信通道的端点(是抽象的)。套接字可以在一个进程内、同一台机器上的进程之间,或者在不同机器上的进程之间进行通信。网络套接字可以通过多种不同的通道类型得以实现,例如TCP、UDP等。换句话说,网络套接字,是在计算机网络中,两个运行程序之间通信流中的一个端点。这个端点是一个虚拟抽象的概念,并不存在任何硬件。 …
1.引言在Socket编程中,有几个关键概念需要了解:Socket是一种网络通信的机制,用于实现不同计算机之间的进程间通信。它提供了一种统一的接口,使得应用程序能够通过网络发送和接收数据。Socket编程中有服务器端和客户端的角色。服务器端绑定到一个特定的地址和端口,并监听客户端的连接请求。客户端通过指定服务器的地址和端口来连接服务器。Socket地址由IP …
本文将从上层介绍Linux上的TCPIP栈是如何工作的,特别是socket系统调用和内核数据结构的交互、内核和实际网络的交互。写这篇文章的部分原因是解释监听队列溢出(listen queue overflow)是如何工作的,因为它与我工作中一直在研究的一个问题相关。建好的连接怎么工作先从建好的连接开始介绍,稍后将解释新建连接是如何工作的。内核管理的每一个TC …