分类 编程 中的文章

Go-libp2p三 | relay例子

我想做什么 chat和echo两个例子,说明了两个节点之间的通信需要两节点在同一个局域网内,或者有一个节点有公网。 如果我两个节点分别在两个NAT下面, 都在各自的局域网内,则需要有一个中继服务,这个服务做……

阅读全文

Go-libp2p二 | echo例子

go-libp2p的echo例子分析 进入目录go-libp2p/examples/echo/, 编译 go build 先看README.md, 可以了解到使用echo的方式: 终端B $ ./echo -l 3001 2021/10/28 11:25:33 I am /ip4/127.0.0.1/tcp/3001/p2p/QmTu8sxDi3fSjz9ZMvkAj3qA9YAoGskroEnyLz2ZvfTBhX 2021/10/28 11:25:33 listening for connections 2021/10/28 11:25:33 Now run "./echo……

阅读全文

Go-libp2p一 | chat例子

代码下载 git clone https://github.com/libp2p/go-libp2p.git chat实例分析 进入目录go-libp2p/examples/chat/, 编译 go build 先看README.md, 可以了解到使用chat的方式 在节点 B $ ./chat -sp 3001 2021/10/28 11:01:25 Run './chat -d /ip4/127.0.0.1/tcp/3001/p2p/QmXgEXt4CiqmVmDhPPQnyVkoj3Bsx3Nggq57PPsk5tLNTs' on another console. 2021/10/28 11:01:25 You can replace 127.0.0.1 with public IP……

阅读全文

Skynet源码赏析四 | 消息调度

服务间消息流转 发送消息 数据结构message_queue *q是次级消息队列,每个服务都有与之绑定的唯一一个次级消息队列。当我们在lua层,调用skynet.send(...), 或者调用skynet.c……

阅读全文

Skynet源码赏析三 | 服务启动

skynet启动一个C服务 查看怎么启动C服务的最好的办法是打断点,看源码。 启动logger日志服务 我拿日志服务来举例子,怎么启动日志服务的呢? 传参数name = "logger", param = null, struct skynet_context *ctx = skynet_context_new(config->logservice, config->logger);; 从module……

阅读全文

Skynet源码赏析一 | 启动初始化的过程

入口文件 skynet_main.c 加载配置 struct skynet_config config; config.thread = optint("thread",8); config.module_path = optstring("cpath","./cservice/?.so"); config.harbor = optint("harbor", 1); config.bootstrap = optstring("bootstrap","snlua bootstrap"); config.daemon = optstring("daemon", NULL); config.logger = optstring("logger", NULL); config.logservice = optstring("logservice", "logger"); config.profile = optboolean("profile", 1); 从上述代码可以看到,配置都已经加载到变量struct skynet_config config;中了。 初始化 初始化skynet_context管……

阅读全文

FPS游戏 | 实现移动功能

三种实现FPS Controller的区别 Transform Translate 允许移动物理,但无物理碰撞 Rigid body + Capsule Collider 符合物理学 不会鬼穿墙 无法滞空运动 可与Physics Object 交互 Charactor Controller 不会鬼穿墙 提供的API相对多 无法与Physic objects……

阅读全文

免费Music

介绍一个可以免费听音乐的方法 环境 docker mac 安装 $ docker run -d -p 264:264 -p 9000:9000 -v $dir_name:/var/www/html/cache --name music oldiy/music-player-docker $dir_name 是 你自己宿主机的目录。可以自定义 访问:127.0.0.1:264 就可以放心使用, 同事推荐的,贼好用。……

阅读全文