左雪菲的专栏

欢迎访问我的个人网站:http://www.hootina.org

排序:
默认
按更新时间
按访问量

从零学习游戏服务器开发(四)LogServer源码探究

这是从零学习开源项目的第四篇,上一篇是《从零学习开源项目系列(三) CSBattleMgr服务源码研究》,这篇文章我们一起来学习LogServer,中文意思可能是“日志服务器”。那么这个日志服务器到底做了哪些工作呢?我们在Visual Studio中将LogServer设置为启动项,然后按F5将L...

2018-05-23 10:52:03

阅读数:395

评论数:1

从零实现一款12306抢票软件

写在前面的话每年逢年过节,一票难求读者肯定不陌生。这篇文章,我们带领读者从零实现一款12306刷票软件,其核心原理还是通过发送http请求模拟登录12306网站的购票的过程,最后买到票。关于http请求的格式和如何组装http数据包给服务器发送请求,我们在上一篇文章《从零实现一个http服务器》中...

2018-05-21 12:10:03

阅读数:720

评论数:0

从零实现一个http服务器

我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。所以,我们需要重新给“专业”和“专家”下一个定义:所谓专业,就是别人搞你不搞,这就是你的“专业”;你和别人同时搞,你比别人搞的好,就是“专家”。说到http协议和http请求,很多人都知道,但是...

2018-05-18 12:44:42

阅读数:904

评论数:1

从零学习游戏服务器开发(三) CSBattleMgr服务源码研究

如上图所示,这篇文章我们将介绍CSBattleMgr的情况,但是我们不会去研究这个服务器的特别细节的东西(这些细节我们将在后面的文章中介绍)。阅读一个未知的项目源码如果我们开始就纠结于各种细节,那么我们最终会陷入“横看成岭侧成峰,远近高低各不同”的尴尬境界,浪费时间不说,可能收获也是事倍功半。所以...

2018-05-17 10:44:07

阅读数:499

评论数:3

从零学习游戏服务器开发(二) 最后一战概况

这份代码我也是无意中来自一个朋友,据他说也是来源于互联网,服务器端代码原来是linux版本的,但被厉害的大神修改成可以在Windows上运行。(如果不小心侵犯了您的版权,请联系我删除)。好在,这份代码中使用的大多数方法和接口都是可以跨Windows和linux两个平台的,所以linux开发下的朋友...

2018-05-15 10:44:43

阅读数:562

评论数:0

从零学习游戏服务器开发(一) 从一款多人联机实时对战游戏开始

写在前面的话      经常有学生或者初学者问我如何去阅读和学习一个开源软件的代码,也有不少朋友在工作岗位时面对前同事留下的项目,由于文档不完善、代码注释少、工程数量大,而无从下手。本文将来通过一个多人联机实时对战游戏——最后一战,来解答以上问题。      其实,我以上问题在我是一个学生时,我也...

2018-05-15 10:43:55

阅读数:668

评论数:0

理解Java Integer的缓存策略

本文将介绍 Java 中 Integer 缓存的相关知识。这是 Java 5 中引入的一个有助于节省内存、提高性能的特性。首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为。接着我们将学习这种实现的原因和目的。你可以先猜猜下面 Java 程序的输出结果。很明显,这里有一...

2018-04-26 16:34:17

阅读数:233

评论数:0

将NULL指针赋值给std::string变量导致程序崩溃

如题:如上图,但是我们还会经常写这样的代码,例如我的flamingo中有代码如下(已经修正):位于queryresult.cpp中如果fields[i].name为NULL的话,程序将崩溃。备忘一下,以后将char*类型赋值给std::string类型一定记得检测一下是否为空指针。...

2018-04-26 14:44:35

阅读数:202

评论数:0

用Android Studio进行NDK编程入门实例

参考了网上各种教程,跌跌撞撞最终才把流程走通,特此记录一下:有必要先交代下开发环境:操作系统:Win7Android Studio 3.0.1gradle 3.0.1首先,新建一个Android项目,然后在MainActivity的布局文件activity_main.xml文件中新增一个测试按钮,...

2018-04-17 20:04:15

阅读数:330

评论数:1

解决无法链接GetFileVersionInfoSize、GetFileVersionInfo或VerQueryValue

xsvrDlg.obj : error LNK2019: unresolved external symbol _GetFileVersionInfoSizeW@8 referenced in function "public: int __thiscall CXsvrDlg::...

2018-04-10 13:33:37

阅读数:108

评论数:0

这些年一直记不住的 Java I/O

阅读目录参考资料前言从对立到统一,字节流和字符流从抽象到具体,数据的来源和目的从简单到丰富,使用 Decorator 模式扩展功能Java 7 中引入的 NIO.2NIO.2 中的异步 I/O总结回到顶部参考资料  该文中的内容来源于 Oracle 的官方文档。Oracle 在 Java 方面的文...

2018-04-02 22:27:36

阅读数:311

评论数:0

Java String转byte数据长度不对

今天,在用Java设计一个网络通信协议时,将一个String通过其getBytes()方法转换成byte[]时,其长度不对,记录一下。byte[] byte1 = new byte[50]; String str = new String(byte, 0, 50); //此时byte1.len...

2018-03-18 13:39:20

阅读数:318

评论数:2

2018年年初的面试经验谈

说下我的面试经验吧,都是亲身经历,不喜勿喷:我去年12月份从上一家公司离职,一直到今年3月份,基本上都在面试中度过来的。先交代下背景:坐标上海,做技术开发,我本人面试的职位是linux服务器开发,最倾向的职位是服务器开发主程或技术经理。我本人也是上几家公司的面试官,因为接下来几年面临着成家养小孩,...

2018-03-15 13:57:46

阅读数:2776

评论数:4

开源网狐棋牌游戏可部署版本源码

这里我开源一款我的维护的网狐游戏源代码,这份代码取自网络,经我历时两年多的研究和修改,现在不仅可以编译、调试还可以部署运行,包括:1. 登录服务器源码2. 中心服务器源码3. 游戏服务器源码4. 后台MSSQLServer建表sql和存储过程5. 100多款棋牌游戏截图如下:代码下载地址:关注我的...

2018-03-14 23:02:34

阅读数:905

评论数:0

金山卫士开源代码

自从金山卫士的代码部分开源以来,基于它出现了各种软件,有侧重界面库的,如SOUI,有侧重电脑安全管理的,下面是我维护的版本的部分截图:主界面垃圾清理ARP防火墙隐私保护器对于广大开发者尤其是广大做Windows安全方面的朋友来说,这套代码具有很大的借鉴意义,至少我们可以知道那些所谓的“电脑管家”到...

2018-03-14 22:10:49

阅读数:1173

评论数:1

Gh0st源码分析(一)——Ghost简介和编译

     相信很多人都听说过Gh0st这款软件,它和灰鸽子等软件一样是十多年前安全方面的代表。本人有幸拿到一款Gh0st软件的源码,经我的改造,修正大量bug,终于让这款软件能在现在的Windows操作系统上正常运行。虽然,很多做法在新的操作系统中已经过时或者没有必要,但是其软件的架构原理、过杀毒...

2018-02-15 16:20:30

阅读数:1039

评论数:2

git合并远程仓库上的提交记录

有时候,我们用git提交代码时,因为我们的疏忽,会导致同一个问题,修改多次,因为反复提交多次,最终稳定下来,我们想把git上这些不成熟的提交记录合成一个终极记录。例如:git上依次有如下提交(按提交时间从新到旧):提交记录k提交记录m提交记录n4提交记录n3提交记录n2提交记录n1提交记录p提交记...

2018-01-31 17:59:30

阅读数:911

评论数:0

centos7 cannot find -lstdc++ 错误

解决CentOS 7 中,make源文件时出现 /usr/bin/ld: cannot find -lstdc++ 错误在CentOS 7中,使用static方法编译,需要安装static version of glibc-static libstdc++-static。使用如下命令安装yum i...

2018-01-13 20:43:06

阅读数:921

评论数:0

git分支管理

git分支确实是一个非常好的东西,先看一个截图吧:这个图其实是很有讲究的,其中历史上的工作顺序是从C0->C1->C2->...->C13。下面开始正式备忘一下git与分支有关的记录。首先,需要明确的一个概念是...

2018-01-09 21:26:22

阅读数:791

评论数:0

Android--UI布局

概述  布局(Layout)的概念是针对Activity的,Activity就是布满整个Android设备的窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,每个需要显示的Activity都需要在AndroidManifest.xml文件之中声明。  通常情况下,...

2018-01-07 20:04:54

阅读数:185

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭