TCP协议中的粘包分包问题

使用TCP协议进行网络游戏开发的时候,有粘包和分包两个问题。

粘包和分包是利用Socket在TCP协议下内部的优化机制,在使用TCP协议进行数据的传输进行通讯的时候,会出现粘包分包问题的话,是由于优化导致,即内部的数据传输机制所导致的。

在客户端调用Send()方法传送数据,每传送的数据称为包

1. 粘包

当发送数据比较频繁的时候,且数据的内容较短。不会立马发送服务器,会包包结合进行打包,服务器收到多条消息但是只调用一次。服务器接收到的消息不一定是一条消息,可能是多条消息的整合。

2.分包

与粘包相似,发送特别大的数据量,可能进行分包发送。分成多条消息发送给服务器。包大占用网速时间都比较长。一个包被分为10次,服务器会接收10次。

热门文章

暂无图片
编程学习 ·

10.4 引用的本质

10.4 引用的本质 引用的本质其实是一个指针常量。 也就是说:int &b = a;本质上是:int* const b = &a;回想一下引用的一个特性(引用一旦确定了引用关系就不能改变)不难发现,这与指针常量的特性一样。指针常量也是不能再改变指针指向的地址。
暂无图片
编程学习 ·

Java的ConcurrentHashMap 底层了解

最近有人问Java8 中ConcurrentHashMap 底层实现,这里简单列下。大家都知道 Java8 对 HashMap 、ConcurrentHashMap 进行了改进,前者非线程安全,后者线程安全。HashMap在Java 7 中,采用哈希表结构在Java 8 中,采用哈希表 + 红黑树ConcurrentHashMap在Java 7 中,采用分段的…
暂无图片
编程学习 ·

Redis和Memcache缓存核心及原理对比最全解析

1. 缓存基础知识1.1 缓存类型 缓存是高并发场景下提高热点数据访问性能的一个有效手段,在开发项目时会经常使用到。缓存的类型分为:本地缓存、分布式缓存和多级缓存。 本地缓存就是在进程的内存中进行缓存,比如我们的 JVM 堆中,可以用 LRUMap 来实现,也可以使用 Ehcache 这…
暂无图片
编程学习 ·

期末复习、化学反应工程科目(第四章)

@Author:Runsen @Date:2020/7/1人生最重要的不是所站的位置,而是内心所朝的方向。只要我在每篇博文中写得自己体会,修炼身心;在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰难,奋勇前行,不忘初心,砥砺前行,人生定会有所收获,不留遗憾 (作者:Runsen )作者介…
暂无图片
编程学习 ·

vue or h5分享页面 唤起和下载app(苹果和安卓判断 及 微信浏览器和其他浏览器的判断)

题外话: 菜鸡是没有发言权的,导致即使不是前端的锅,也把它变成是你的锅。 哎!!!!!!!!!!!!!首先必须感谢我认识的大佬,一直在帮我解决问题(我关注的那个jamesluozhiwei 这位)步入正题: 1 。唤起和下载 用的框架 和 参考文档(重要,弄清原理啥的看这个)…
暂无图片
编程学习 ·

一文详解 Ansible 的自动化运维

一、Ansible 概述 Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误。 Ansible 通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个。更为重要的是,它操作非常简单,即使小白…
暂无图片
编程学习 ·

Docker学习(一)

一、docker安装环境Ubuntu16.04 x64二、docker安装安装过程需要获取外网资源包,因此首先需要配置本地服务器DNS追加这两个DNS nameserver 8.8.8.8 nameserver 8.8.4.4Ubuntu配置DNS参考: https://blog.csdn.net/deep_kang/article/details/79599796 https://blog.csdn.net/wa…
暂无图片
编程学习 ·

医疗知识图谱笔记(二)

1.re库import re # 从字符串中匹配是否有该模板 print(re.search(pattern = w{2}, string = www.runoob.com)) # 从字符串中替换掉该模板 print(re.sub(pattern = #.*$, repl = "", string = "2004-959-559 # 这是一个国外电话号码")) # 从字符串中找到所…
暂无图片
编程学习 ·

云管理服务AWS Organizations正式在AWS中国区域上线

近期, AWS中国(宁夏)区域(由西云数据运营)和AWS中国(北京)区域(由光环新网运营)正式上线了云管理服务AWS Organizations。作为一种管理服务,AWS Organizations可集中控制和管理多个AWS账户,无论是初创公司还是大型企业均可以使用,而不需要额外付费。随着企业或机构…
暂无图片
编程学习 ·

二叉搜索树与双向链表

题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 package hk;import java.util.ArrayList;public class Solution {public TreeNode Convert(TreeNode pRootOfTree) {if (pRootOfTree==null){r…
暂无图片
编程学习 ·

Zabbix简介

一、Zabbix介绍 Zabbix是一个企业级的、开源的、分布式的监控套件 Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出响应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助…
暂无图片
编程学习 ·

spring @Primary-@Qualifier在spring中的使用

在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。 有如下一个接口 public interface Singer {String …
暂无图片
编程学习 ·

堪称零瑕疵!仅用了330页直接封神,我要吹爆这份RocketMQ笔记

RocketMQ天生为金融互联网领域而生,追求高可靠、高可用、高并发、低延迟 RocketMQ在阿里集团也被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景 其主要功能有:灵活可扩展性、 海量消息堆积能力、 能够保证严格的消息顺序 提供丰富的消息拉…
暂无图片
编程学习 ·

葡萄酒分类

#加载数据 df = pd.read_csv("winequality-red.csv") df.head() #空值 df.isnull().any() df.describe()# 简单的数据统计 # 总酸度,把固定酸,挥发酸,柠檬酸三项合起来定义一个新的特征总酸量。 df[total acid] = df[fixed acidity] + df[volatile acidity] + df[…
暂无图片
编程学习 ·

华为rip动态路由理论+实操,带你玩转RIP协议

文章目录一、动态路由rip原理1.1动态路由概述1.2动态路由协议分类1.3RIP路由协议1.3.1RIP基本概念1.3.2RIP协议的特性1.3.3RIP度量值与更新时间1.3.4水平分割1.3.5RIP v1和RIP v2的区别1.3.6RIP兼容模式二、RIP实验2.1实验环境2.2实验拓扑图2.3实验过程2.3.1R1配置2.3.2R2配置2…
暂无图片
编程学习 ·

ROS成长-wiki-ros教程整理 二 环境搭建

此处学习是通过catkin 编译方式来学习的。 1、创建个人的工作文件夹,此文件夹是之后学习的,存放程序的根目录 mkdir -p ~/catkin_ws/src 2、创建环境 cd ~/catkin_ws/ catkin_make catkin_make 命令是创建工作区的快捷命令,第一次在工作空间中运行它,它将在工作文件夹中的“…
暂无图片
编程学习 ·

ELK详细安装部署

系统配置:CentOS7.6 4核4G ELK版本:7.7.1 elastic官网地址:https://www.elastic.co/cn/ elastic产品地址:https://www.elastic.co/cn/elastic-stack yum源地址:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum 前言 日志主要包括系统日志和应用程序日志,运维和开…
暂无图片
编程学习 ·

1254 统计封闭岛屿的数目(dfs)

1. 问题描述:有一个二维矩阵 grid ,每个位置要么是陆地(记号为 0 )要么是水域(记号为 1 )。我们从一块陆地出发,每次可以往上下左右 4 个方向相邻区域走,能走到的所有陆地区域,我们将其称为一座「岛屿」。如果一座岛屿 完全 由水域包围,即陆地边缘上下左右所有相邻区…
暂无图片
编程学习 ·

MDUKEY月报(6月)

本月概述: 核心技术进展:在主网、SDK、Mobox和相关技术方面进行了更新迭代 MDUKEY生态发展:“价格保障机制”进行中;FINWEX、等节点详情公布等节点详情公布 Traffic 2.0 市场相关:MDU 399BLOCK 第三期已招募过半、第四期招募预开启 Traffic 2.0 品牌相关:FINWEX AMA 、深…