tcp

Byte不洛2 天前
linux·c++·操作系统·网络编程·tcp
手写一个C++ TCP服务器实现自定义协议(顺便解决粘包问题)在之前的博客中,我们了解了关于UDP和TCP的网络编程,直观的感受了一下网络套接字是如何使用的,并且成功的完成了客户端与服务端的网络通信,但是其中还有一个小细节我们可能会忽略,就是UDP是基于数据报进行传输的,一下子就将所有我们要发送的信息传送给对方,但是我们的TCP可是基于字节流进行传输的,我们如何保证读取上来的数据,是一个完整的报文呢?
小江的记录本2 天前
java·服务器·网络·网络协议·tcp/ip·http·tcp
【TCP】TCP三次握手与四次挥手(系统性知识体系+对比表格)本文从前置基础、核心流程、本质问题、关键细节、拓展场景五个维度,构建完整的TCP连接管理知识体系,覆盖原理、标准、异常场景与面试核心考点。
somi77 天前
linux·网络·udp·tcp
Linux-网络通信02-UDP 与 TCP Socket以下函数 UDP 和 TCP 都会用到。返回值: 成功返回套接字 fd,失败返回 -1地址结构体:1. 发送次数和接收次数必须一一对应 2. 发送和接收的大小需保持一致(若接收 buf 小于发送大小,超出部分丢失) 3. 每次发送数据,链路都可能不同 4. 有读阻塞(没有数据时会阻塞等待) 5. 无写阻塞(发送太快时,接收方来不及处理会丢包) 6. 半双工
Arman_8 天前
webrtc·tcp
深入浅出 RTP 协议:从原理到 WebRTC 实践在实时通信(RTC)领域,UDP 是传输协议的首选,因为它延迟低、无须握手。但 UDP 也有致命缺点:它只负责发送,不保证数据包的顺序、逻辑关系和到达率。
cur1es25 天前
java·网络·网络协议·tcp/ip·tcp·滑动窗口·连接管理
【TCP 协议的相关特性】四个bit位表示0-15,但是这里设定的单位是4字节,而不是字节。要在15的基础上再*4、共计60字节
白太岁1 个月前
c++·网络协议·架构·tcp
Muduo:(3) 线程的封装,线程 ID 的获取、分支预测优化与信号量同步唯一核心目的:用最快的速度,获取当前线程的 ID。线程封装类,提供跨平台的线程管理功能。Thread 的核心设计目标包括:
白太岁1 个月前
c++·架构·tcp
Muduo:(0) 架构与接口总览mymuduo 是一个基于 Reactor 模式的高性能 C++ 网络库,基于陈硕的 muduo 网络库进行 C++ 重构。它提供了简洁的 API,支持 TCP 服务器和客户端开发,具有以下特点:
tryxr1 个月前
网络·网络协议·udp·tcp
如何基于UDP实现可靠传输UDP(User Datagram Protocol)本身是一种无连接、不可靠的传输层协议,它不提供重传、顺序保证、流量控制或拥塞控制等机制。然而,在某些场景下(如实时音视频、游戏、IoT 等),开发者希望在保留 UDP 低延迟特性的基础上,自行实现可靠传输机制。这可以通过在应用层添加可靠性逻辑来完成。
dozenyaoyida1 个月前
网络·经验分享·嵌入式硬件·tcp·wifi6兼容性·视频预览卡顿
RS预览失败问题分析和解决目录RS预览失败问题分析和解决.... 0背景介绍.... 2问题排查和分析.... 2进一步分析.... 5
Byte不洛1 个月前
linux·网络编程·高并发·tcp·socket编程
TCP 服务器如何支持高并发?单进程、多进程、多线程模型详解在上一篇博客中,我们基于 UDP 实现了一个简单的群聊模型。今天,我们正式进入 TCP 网络编程,实现一个最经典的功能 ——
Tadas-Gao1 个月前
网络·网络协议·云原生·架构·tcp
TCP粘包现象的深度解析:从协议本质到工程实践在网络通信领域,传输层协议的设计决策直接决定了应用层开发者的编程模型。作为架构师,理解传输层协议的核心差异及其对应用设计的影响,是构建高性能、可靠网络系统的基石。TCP(传输控制协议)和UDP(用户数据报协议)作为传输层的两大支柱,采用了截然不同的数据传输模型,这直接导致了“粘包”这一经典问题的产生。
oushaojun21 个月前
mac·tcp·linux网络·phy
趣谈网络协议栈,以太网基础MAC和PHY(转)当我们指尖轻点鼠标浏览网页、发送消息,或是在线追剧、传输文件时,背后总有一套“隐形交通系统”在默默运转,这就是网络协议栈。而以太网,作为这套系统中最基础、最普及的“地面交通网”,承载着我们日常绝大多数的网络通信,MAC与PHY则是这套“地面网”中不可或缺的核心搭档,撑起了以太网通信的半壁江山。很多人提起网络协议,总觉得是晦涩难懂的专业术语,实则不然。
梁辰兴1 个月前
tcp/ip·计算机网络·php·tcp·拥塞控制·计算机网络基础·梁辰兴
计算机网络基础:TCP 的拥塞控制TCP拥塞控制是TCP协议保障网络稳定运行的核心机制,核心设计理念是“让发送端的发送速率,精准匹配网络的实际承载能力”,避免因发送端盲目高速发送,导致网络中数据包排队、延迟激增、丢包加剧(即“网络拥塞”),最终实现“网络吞吐量最大化、延迟最小化、丢包率最低”的传输平衡。
梁辰兴2 个月前
网络·tcp/ip·计算机网络·tcp·可靠传输·计算机网络基础·梁辰兴
计算机网络基础:TCP可靠传输的实现TCP作为传输层核心协议,其最核心的价值的是实现端到端的可靠传输——将IP层“无连接、不可靠、无顺序”的数据包传输,转化为“可靠、有序、无丢失、无重复”的字节流传输。它就像一套精密的“物流配送体系”:为每个包裹(字节)分配唯一编号(序列号),确保送达后有回执(确认号),丢件后自动补发(重传机制),根据收件人接收能力调整配送速度(流量控制),避开拥堵路段(拥塞控制),全程监控包裹完整性(校验和),最终实现“万无一失”的交付。
津津有味道2 个月前
服务器·网络协议·tcp·易语言
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令本示例适配的设备:https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.47b32c1bmEakv9&ft=t&id=22173428704
星辰徐哥2 个月前
开发语言·http·https·udp·tcp·易语言
易语言网络通信编程基础:HTTP/HTTPS/TCP/UDP实战开发💡 在完成了本地数据持久化的学习后,网络通信编程是易语言应用开发的又一个核心技能点。现代软件几乎都离不开网络交互:从获取实时天气、新闻资讯的简单API调用,到开发在线聊天工具、文件传输系统的复杂通信,再到爬虫、数据采集的自动化任务,网络通信都是实现这些功能的基础。
REDcker2 个月前
计算机网络·udp·互联网·tcp·端口·后端开发
计算机系统常用端口列表参考自 IANA 端口分配及维基百科 TCP/UDP 端口列表。端口号为 16 位,范围 0–65535。
坐怀不乱杯魂2 个月前
linux·服务器·网络·c++·udp·tcp
Linux网络 - Socket编程(IPv4&IPv6)大家学习前可以稍微看看网络基础博客我们重温一下UDP和TCP的性质我们主要是以IPv4来讲解,如果遇到IPv6的额外操作我会穿插进去。并在结尾总结IPv6的整个实现过程和怎么保证IPv6兼容IPv4
梁辰兴2 个月前
tcp/ip·计算机网络·计算机·tcp·计算机网络基础·梁辰兴·传输控制协议
计算机网络基础:传输控制协议 TCP传输控制协议(TCP,Transmission Control Protocol)是传输层两大核心协议之一,以“面向连接、可靠有序、流量可控”为核心设计理念,通过一系列精密机制解决网络传输中的丢包、乱序、拥堵等问题,为应用提供稳定、可信赖的端到端数据传输服务。它就像一位“严谨的快递员”——送信前先确认收件人状态(建立连接),全程追踪包裹轨迹(确认重传),按顺序交付(有序排序),根据收件人接收能力调整投递速率(流量控制),避开拥堵路段(拥塞控制),确保包裹万无一失送达。
junnhwan2 个月前
笔记·计算机网络·tcp·cs168
【计算机网络-CS168-textbook阅读笔记】传输层原理与TCP设计为了区分或多路复用(demultilexing,或翻译成“分用”)哪些数据包是为哪个应用程序准备的,传输层头部包含一个额外的端口号,用于识别终端主机上的特定应用程序