blog icon indicating copy to clipboard operation
blog copied to clipboard

涵曦的博客

Results 94 blog issues
Sort by recently updated
recently updated
newest added

## 协议设计 * 协议类型:schema * 支持类型:int, string, array * 采用lua table定义协议 > > p = { > name = "hanxi", > tel = 1383838, > addresslist = { > address...

Lua
玩具
oldblog

### 借用现成工具 [Markdown](http://daringfireball.net/projects/markdown/) 是由 John Gruber 和 Aaron Swartz 共同创建的一种轻量级标记语言 [showdown.js](http://yanghao.org/tools/markdown.html) 是一个 javascript 写的 markdown 渲染库 [codemirror](http://codemirror.net) 是一款“Online Source Editor”,基于Javascript,短小精悍,实时在线代码高亮显示,他不是某个富文本编辑器的附属产品,他是许多大名鼎鼎的在线代码编辑器的基础库。 [python接收上传文件](http://my.oschina.net/leejun2005/blog/71444) 解析http POST form ### python 所做的事情 * httpd服务器,主要是用于接收ajax请求,做相应的处理,特别是上传图片 *...

Javescript
Python
玩具
oldblog

1. 服务查看log ``` tail -1f /var/log/secure ``` 因为搜索了好多sshd的配置都是一样的,不能解决问题,就想到了查看log显示更确切的报错什么的。 2. 客户端执行命令 ``` time scp -v t.lua [email protected]:/home/hlm-devel/t.lua ``` 这句话是搜着搜着找到的。来自这里:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3744661 可以总结出,一般命令都有debug模式,以后出现问题就直接去查找命令的debug参数就是了。 3. 查看服务器输出的log ``` Dec 3 09:49:19 localhost sshd[15272]: Authentication refused: bad...

随写
oldblog

1. ssh [email protected] 可以进入服务器 2. scp [email protected]:~/t.lua t.lua 失败,无错误提示,无百分比输出。 3. 查看/var/log/secure 无明显错误 4. scp [email protected]:~/t.lua t.lua 正常 5. 查看/etc/ssh/sshd_config 没异常配置,开始怀疑是sftp的问题 6. 执行 sftp [email protected]。出现下面错误 ``` sftp Received message too long...

随写
oldblog

lua中使用c动态库,像luacjson(支持unicode),luasocket,都是以动态链接库的形式在lua中使用的,至于怎么写这些动态链接库很少有教程说到,下面我就说说如何把c文件编译成动态库。 首先,假设需要在lua中调用一个在c中实现的求和函数,函数名add(a,b)。 我给这个测试库取名为dylib,它包含一个函数add。lua中这样使用: local dylib = require "dylib.test" local c = dylib.add(1,2) print(c) 上面的dylib.test就是我编译生成的dylib/test.so文件。这个文件该怎么生成?如下: int luaopen_dylib_test(lua_State* L) { luaL_Reg l[] = { { "add", *dylib_add* }, { NULL, NULL },...

教程
oldblog

## 参考 - [聊一聊游戏服务器架构设计-聊天功能的那些事](https://my.oschina.net/ta8210/blog/709075) - [开发笔记 (13) : AOI 服务的设计与实现](https://blog.codingnow.com/2012/03/dev_note_13.html) - [深入探索AOI算法](https://zhuanlan.zhihu.com/p/201588990) - [十字链表的AOI算法实现](https://rondsny.github.io/2016/11/29/802-Game_AOI_Cross_Linked_List/) - [AOI算法、Unity游戏优化(一)](https://blog.csdn.net/qq_21407523/article/details/114297309) - [跳表──没听过但很犀利的数据结构](https://lotabout.me/2018/skip-list/) - [游戏服务器AOI的实现](https://www.cnblogs.com/coding-my-life/p/14256640.html) - [游戏中的AOI(Area of Interest)算法](https://www.cnblogs.com/persistentsnail/p/3294842.html) - [聊聊游戏中的AOI](https://iyichen.xyz/2020/04/talk-about-aoi/) ## 1. 九宫格 绘制如下的...

引用自这里 ```bash ## ipa.sh ## usage: PASSWORD=loginpassword sh ipa.sh security unlock-keychain -p $PASSWORD login.keychain NAME=Unity-iPhone ## Builds the app into an archive #xcodebuild -project ${NAME}.xcodeproj -scheme ${NAME} -archivePath ${NAME}.xcarchive archive...

下载 iso 文件,或者用这个工程 自动做好 iso 文件。 - 确保已经关闭 hype-v 并开启 vt-x,可以用 LeoMoon CPU-V.exe 工具检测环境。 - 新建虚拟机,虚拟机名字: macosx - 设置内存和创建硬盘,硬盘设置 100 G - 设置 cd iso 镜像 - 然后退出 virtual box...

教程
玩具

游戏开发中,少不了一些玩法配置是配置到 excel 中的,往往这些数据结构是由程序制定,由策划填写的,方便数值策划对数据做修改。 excel 的格式一般都是一个 sheet 导出一个文件,sheet 的格式内容包含了表头和数据,表头用于规定导出的数据结构,导出的数据采用 map 结构。 可以这样定义一个 sheet,第一列为数据的第一层 key,第二列开始为第二层数据,每行定为一组数据。这样定义就类似于数据库中的结构了,以第一个字段为唯一索引的表,可以快速定位到一行数据。 单元格为原子数据,支持的数据不用太多,只需要四种就可以,整数,字符串,整数数组,字符串数组。可以扩展支持公式,但是不建议扩展浮点数和 submap,当你觉得需要 submap 时,说明你需要另外建立一张表了。 导表工具的核心功能就是把规定好格式的 excel 文件转成游戏代码方便读取的文件,根据游戏所选用的代码不同,需要的数据文件格式也就有不同的选择。如果是脚本语言,可以直接转成语言所支持的数据结构,比如 python 的 dict,lua 的 table。如果是编译型的语言,建议直接用 json。 这里我实现了一个导表工具 [export.py](https://github.com/hanxi/export.py) 当然,单纯这样的导表工具是不完善的,为了开发方便,还需要支持版本管理工具 Svn...

skynet 只支持接收一个 SIGHUP 信号,该信号默认是用来切割日志文件的,跟 nginx 切割日志文件的方式一样。 nginx 支持比较多的信号,比如用于 reload 的 SIGHUP 和切割日志的 SIGUSR1 。 如果想用信号控制 skynet ,比如执行安全关服, skynet issues 里只讨论了可以重写一个自定义的日志服务来使用信号 SIGHUP 来安全关服。 那如果想要使用信号同时控制安全关服和切割日志该如何处理呢? 我想了个方案,重写一个自定义的日志服务,处理信号 SIGHUP 的逻辑,依靠一个文件的内容来区分信号想要传递的具体信息。这样想要支持什么消息都可以很简单的扩展了,比如文件内容写 reload 表示重新加载服务,cutlog 表示切割日志。可以先把指令写入文件,再调用 kill...

教程
Skynet