游戏引擎
游戏猫
多年游戏开发经验,在这里分享经验和心得
展开
-
网络缓冲区的4种实现方法
一、概述网络缓冲区用于缓冲待发送的数据或接收了待处理的数据,发送缓冲区可以积累一定量的数据再发送,接收缓冲区可以积累一定量的数据,解决粘包导致的没有收到完整的数据包,缓冲起来等包数据完整了再提交给业务逻辑处理。二、实现方案根据我的经验,这里将介绍四种实现机制,包括单块连续内存缓冲,环形缓冲,环形分块缓冲,链表分块缓冲。1. 单块连续内存缓冲单块连续缓冲是最简单地实现机制。这种方案采取一块连续的内存来作为缓冲区,随着数据的写入和读取,有效数据块会逐渐往后移动,在合适的时机把整块有效数据移动到头部。如原创 2020-11-06 01:15:04 · 3405 阅读 · 0 评论 -
最短路径Dijkstra算法源码
Dijkstra算法源码Dijkstra.h文件源码#pragma once#include "stdafx.h"#include <vector>using namespace std;//arcs中arcs[i][j] < 0,表示不可达class Dijkstra{private: int _num; float** _arcs; float* _dis;原创 2016-12-23 14:05:55 · 680 阅读 · 0 评论 -
四叉树QuadTree源码
四叉树QuadTree源码QuadTree.h源码#include "stdafx.h"#include <list>using namespace std;struct QuadAABB{public: int left; int top; int width; int height; int right; int bottom;原创 2016-12-23 14:10:17 · 3935 阅读 · 0 评论 -
A*寻路算法源码
A*寻路算法源码Astar.h源码#pragma once#include "stdafx.h"#include "MinHeap.h" //最小堆源码地址http://blog.csdn.net/heyaolongsanhao/article/details/53437325class AstarNodeRun;class Astar;class AstarRunData;class原创 2016-12-23 14:18:34 · 595 阅读 · 0 评论 -
四叉树C#源码
public class QuadTreeNode { public const int LT = 0; public const int RT = 1; public const int LB = 2; public const int RB = 3; public List dataList;原创 2018-01-12 19:10:08 · 2587 阅读 · 1 评论 -
TCP建立连接和断开连接流程
一、基本描述TCP协议为提供面向连接的服务,需要先建立连接,然后才可以通信,通信结束时,需要断开连接。二、建立连接流程建立连接的过程也叫做三次握手,流程如下:1、首先,一定是由客户端发起连接请求,服务端来接收连接请求。客户端发起连接请求后,会先给服务端发送一个SYN包。2、服务端收到SYN包,会回复SYN的ACK,同时再回复SYN,但SYN和ACK是一起...原创 2016-12-26 19:32:45 · 9418 阅读 · 0 评论