14 summerhust

尚未进行身份认证

学无止境

等级
TA的排名 1k+

DR算法

在飞机游戏中DR的一个例子:1. 飞机的运动速度都是固定的,两台游戏机联机玩,分别是A和B;2. 对于A和B来说,是否需要发送PDU(protocoldataunit,协议数据)是通过阈值控制的。实际运动位置是P1,而DR算法模拟得到的运动位置是P1′,如果P1-P1′大于预先设置的阈值就发送PDU通知对方。3. 每次收到对方的PDU,则更新对方的位置。4. 在没有收到PDU的时候,需要模...

2019-08-06 23:18:10

基于帧同步的游戏框架说明

基于帧同步的游戏框架说明一,关于帧同步和状态同步的比较 帧同步 状态同步 安全性 比较差,计算都在客户端,服务器只做转发;有服务器校验的方案,比较繁琐 计算都在服务器 可以将重要的判定都由服务器决定 网络流量 比较小,每一帧只同步玩...

2019-05-09 14:08:28

skynet任务调度分析

    云风同学开源的skynet,当前规模是8K+ C代码和2K+ lua代码,实现了一个多线程高并发的在线游戏后台服务框架,提供定时器、并发调度、服务扩展框架、异步消息队列、命名服务等基础能力,支持lua脚本。单服务器支持10K+客户端接入和处理。     我个人比较关注高性能和并发调度这块,这两天分析了一下skynet的代码,简单总结一下。 1. 总体架构     一...

2018-09-03 17:48:28

一致性Hash算法背景

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人...

2018-08-30 09:51:27

最短路径之Dijkstra算法

今天为大家分享的算法是为解决最短路径算法的Dijkstra算法(简称D算法),这是一个解决从点到点之间最短路径的问题,看下面这张图:这里,我们想要得出节点a(节点1)到节点b(节点5)的最短路径,就是怎么走可以使得权重值的和最小,每一条边都有一个权重。今天我们介绍的D算法就是解决这类问题的,这是一种贪心算法,每次只取权重和最小的点,通过不断加入节点,来更新源节点a到各个节点的最短路径,...

2018-08-27 14:14:49

ubuntu16.04下安装docker

本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。开始安装由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:$ sudo apt-get remove docker docker-engine doc...

2018-08-23 14:19:39

linux硬链接与软链接

 Linux 系统中有软链接和硬链接两种特殊的“文件”。软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。硬链接则透过文件系统的inode来产生新档名,而不是产生新档案。创建方法都很简单:软链接(符号链接) ln -s   source  target  硬链接 (实体链接)ln       source  targetinode要解释清楚两...

2018-08-22 19:43:43

TCP、UDP数据包大小的限制

TCP、UDP数据包大小的限制 1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。   其中以太网(Ethernet)的数据帧在链路层   IP包在网络层   TCP或UDP包在传输层   TCP或UDP中的数据(Data)在应用层   它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}       不同的协议层对数据包有不同的称谓,...

2018-08-21 10:07:23

docker学习笔记(一)—— ubuntu16.04下安装docker

 2018年03月01日 14:53:00阅读数:16199本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。开始安装由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:$ sudo apt...

2018-08-02 19:21:50

TCP异常终止(reset报文)

TCP异常终止(reset报文)  在之前做智能家居系统时,师弟做的服务端与WiFI盒子(客户端)进行通信时,总是出现异常情况,然后服务端不停地向客户端发送RESET报文,之前一直都不知道是什么情况,因此一直不知道是什么问题导致的,今天在看《TCP/IP》详解的ICMP部分时,突然又想起这个问题,然后查了一下,找到一篇相关的博客(http://www.vants.org/?post=22),现在整...

2018-06-23 12:11:14

可靠UDP,KCP协议快在哪?

可靠UDP,KCP协议快在哪?原创: WeTest小编 腾讯WeTest 1周前作者许敏华,腾讯IEG高级工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。WeTest 导读云真机已经支持手机端的画面投影。云真机实时操作,对延迟的要求比远程视频对话的要求更高(100ms以内)。在无线网络下,如何更实时、更可靠的传输视频流就成了一个挑战。通过websocket、RTMP、UDP的比...

2018-06-22 11:35:48

通过malloc分配序号查找内存泄漏

The file name and line number in the memory leak report tell you where leaked memory is allocated, but knowing where the memory is allocated is not always sufficient to identify the problem. Often an

2016-07-08 14:59:07

Ubuntu下开启root登陆

Ubuntu下开启root登陆亲手安装过Ubuntu的童鞋都知道,默认安装只会添加一个普通用户名和密码,而超级用户权限则是利用sudo命令来执行。在Ubuntu下使用root登陆或者在shell中用su命令切换到root时会提示错误“认证失败”。因为在安装过程中就没有启用root,也没有给它分配口令。乌帮图用过的其他Linux发行版像Fedora、Mandriva等一般在安装过程中

2016-05-19 11:50:51

ubuntu访问windows共享

ubuntu 12.04LTS已经不支持smbfs文件系统,所以不能用mount -smbfs 来映射windows共享文件夹。   常见有两种方法   1.terminal下    mount //192.168.0.88/share  -o user=DOMIAN\\xxx,pass=xxx /mnt/share    注:其中192.168.0.88是wind

2016-03-19 21:19:48

skynet的windows版本

skynet社区有同学做了一个skynet的windows版本,这里我把它稍作编译,做了一个简单的批处理脚本即可运行skynet的示例,提供下载链接如下:http://download.csdn.net/detail/summerhust/9281227仅供学习,生产环境请用正式版本。

2015-11-19 01:00:29

ubuntu memcached安装与配置

ubuntu memcached安装与配置        分为两个过程:memcache服务器端的安装和memcached客户端的安装。所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要p

2015-09-14 11:47:50

谈谈时间函数gettimeofday

我们在程序中会频繁地取当前时间,例如处理一个http请求时,两次调用gettimeofday取差值计算出处理该请求消耗了多少秒。这样的调用无处不在,所以我们有必要详细了解下,gettimeofday这个函数做了些什么?内核1ms一次的时钟中断处理真的可以支持tv_usec字段达到微秒精度吗?它的调用成本在i386/x86_64体系架构上代价一样吗?如果在系统繁忙时,频繁的调用它有问题吗?

2015-09-03 15:51:27

Git查看、删除、重命名远程分支和tag

Git查看、删除、重命名远程分支和tagGit查看、删除、重命名远程分支和tag2015-06-15:加入姊妹篇;2013-11-06:加入重命名远程分支的内容;2013-01-09:加入删除远程tag的内容。姊妹篇:使用Git、Git GUI和TortoiseGit这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提

2015-07-13 14:35:40

如何kill杀掉linux系统中的僵尸defunct进程

如何kill杀掉linux系统中的僵尸defunct进程在 Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的“僵尸”进程。“僵尸”进程是一个早已 死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性

2015-06-23 10:31:59

RabbitMQ 使用参考

RabbitMQ 使用参考2014-09-08 20:19 更新邹业盛安装基本概念基本形式持久化调度策略5.1. fanout5.2. direct5.3. topic5.4. headers分配策略状态反馈7.1. 信息发布的确认7.2. 消息提取的确认示例: 多消费者, 并行处理

2015-06-02 10:33:00

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。