go包管理工具-glide使用方法及踩坑记录

前言大学以来一直想做一个OJ,终于可以开始,而且是用新学的Go来写,心里还是挺兴奋的。 项目启动,要搭架子,第一件事,当然是选择一个包管理工具。Go的包管理还是挺混乱的,没有一个能像Java的Maven一样足够强大&一统天下,尽管优秀的第三方工具已有十来种,且官方也开始着手开发(快统一江湖吧)。 (ps:虽然包管理很让人糟心,但这并不能影响我对这门语言的热爱)glide安装go get gith...
阅读(63) 评论(0)

CSDN迁移Hexo脚本分享

前言这一阵子,刚换了落脚地儿,没想好该去折腾什么,恰好看到可以用git page搭建一个博客,就搞了搞。关于主题啊,配置啊什么的,网上都有好多,偏偏迁移这个事儿挺麻烦,幸好有找到一前辈的脚本,可以将CSDN的博客导出为markdown格式,但是其导出来的md文件并不能直接用hexo,想要显示的好一些还需要再用脚本将它二次润色。 本人重写了润色的脚本,并增加了对CSDN的分类的爬取,将其作为hexo...
阅读(271) 评论(3)

Linux上定时器的实现

方法1. 使用sleep或者usleep这种方法很简单,这里就不具体描述,它的缺点也很明确:精度不够,特别是在系统负载比较大时,会发生超时现象。方法2. 使用信号量SIGALRM + alarm()alarm也称为闹钟函数,alarm()用来设置在经过参数seconds指定的秒数后传送信号SIGALRM给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回。要注意的是...
阅读(264) 评论(0)

对比高性能I/O设计模式-Reactor/Proactor

通常,I/O复用机制都需要事件分享器。分享器对象可将来自事件源的I/O事件分离出来,并分发到对应的Read/Write事件处理器。开发人员预先注册需要处理的事件及该事件对应的事件处理器。 Reactor和Proactor都涉及到了事件分享器,不同的是,Reactor是基于同步I/O的,而Proactor是与异步I/O相关。在Reactor模式中,事件分离器等待某个事件或者某个操作的状态发生,比如文...
阅读(339) 评论(0)

游戏服务器和一般服务器对比,有何特别?

背景在中国的互联网诸多业务领域中,游戏一直是充当“现金牛”而存在的。但是,在游戏服务器端开发领域中的很多重要问题,并没有被明确的分辨出其特异性,从而得到专门的对待。我们不管是在业界开源领域,还是内部分享中,很少会有专门针对游戏业务特征进行专门设计的组件、类库或者框架。我们从游戏的客户端方面来看,一款专业的游戏客户端引擎,已经是游戏开发的标配,比如最早的Flash Builder,到后期的Cocos2...
阅读(373) 评论(0)

各类游戏对应的服务端架构

卡牌、跑酷等弱交互服务端卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:登录时可以使用非对称加密(RSA, DH),服务器根据客户端uid,当前时间戳还有服务端私钥,计算哈希得到的加密 key 并发送给客户端。之后双方都用 HTTP通信,并用那个key进行RC4加密。客户端收到key和时间戳后保存在...
阅读(852) 评论(0)

TCP协议-TCP服务特点和头部结构

TCP服务特点面向连接、基于字节流和可靠传输。TCP的面向连接是什么意思?通信双方都必须先建立连接,然后才能开始数据的读写,双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 同时,TCP连接是全双工的,就是说,双方数据的读写,可以通过一个连接进行,完成数据交换之后,通信双方都必须断开连接,以释放系统资源。而且,TCP连接是一对一的,所以,基于广播和多播的应用程序不能使用T...
阅读(388) 评论(0)

Linux内存管理机制

在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存(buffer/cache),利用内存读写的高速特性来提高Linux系统的数据访问性能。在这方面,区别于Windows的内存管理。本文从Linux的内存管理机制入手,简单...
阅读(433) 评论(1)

游戏服务端开发要点

前言ps:一直希望有个游戏服务端的技能树,此文算是指明方向,故记录于此。 知道该去哪打怪、打什么怪,升级才快。 本文作为游戏服务器端开发的基本大纲,是游戏实践开发中的总结。第一部分专业基础,用于指导招聘和实习考核, 第二部分游戏入门,讲述游戏服务器端开发的基本要点,第三部分服务端架构,介绍架构设计中的一些基本原则。希望能帮到大家。 一、专业基础1.1 网络1.1.1 理解TCP/IP协议...
阅读(326) 评论(0)

TCP建立连接为什么是三次握手,为什么不是两次或四次?

什么是三次握手学过网络编程的人,应该都知道TCP建立连接的三次握手,下面简单描述一下这个过程。 如图所示 第一次握手:客户端发送TCP包,置SYN标志位为1,将初始序号X,保存在包头的序列号(Seq)里。 第二次握手:服务端回应确认包,置SYN标志位为1,置ACK为X+1,将初始序列号Y,保存在包头的序列号里。 第三次握手:客户端对服务端的确认包进行确认,置SYN标志位为0,置...
阅读(949) 评论(0)
176条 共18页1 2 3 4 5 ... 下一页 尾页
    ~~~
    个人资料
    • 访问:200234次
    • 积分:3759
    • 等级:
    • 排名:第8935名
    • 原创:166篇
    • 转载:8篇
    • 译文:0篇
    • 评论:77条
    博客专栏
    最新评论