🛠 用 FRP 解决远程访问难题:从安装到使用的最简指南
在远程办公、远程维护设备已经成为常态的今天,我们常常会遇到一个头疼的问题:
明明家里有公网 IP,为什么在公司却连不上家里的电脑? 为什么公司电脑没有公网 IP,我在外面就远程不了?
……在远程办公、远程维护设备已经成为常态的今天,我们常常会遇到一个头疼的问题:
明明家里有公网 IP,为什么在公司却连不上家里的电脑? 为什么公司电脑没有公网 IP,我在外面就远程不了?
……最近想在 iPhone 上找一个无广告、免费的 WebDAV 视频播放器。简单搜索之后发现:不是强制付费,就是夹杂广告,要不就是功能阉割。既然找不到适合自己的,那就干脆自己动手做一个。
正好家里有一台 Mac mini (M4),环境齐全,于是开启了我作为“小白开发者”的 WebDAV 播放器开发之旅。
……最近在开发 iOS 平台的 WebDAV 播放器,开发环境选择的是 Mac mini。但实际使用中,我的主力机仍然是 Windows,而且只有一个显示器。如何在不频繁切换设备、不额外增加硬件成本的前提下,高效地远程使用 Mac mini,就成了一个绕不开的问题。
这篇文章就结合我自己的实践,聊一聊 Windows 远程 Mac mini 的几种方案对比,以及我最终的选择。
……在写 SLG(策略类)游戏时,真正决定系统能走多远的,从来不是玩法堆得有多满,而是底层结构是否稳定、是否可扩展。
这篇文章记录的是我在实现一套 SLG 服务端基础架构过程中的完整思路:
这是一条迟到很久的 vlog 文本版。
不是为了博同情,也不是为了复盘谁对谁错,只是想把第一次真正经历交通事故的全过程记录下来,也许能帮到以后遇到同样事情的人。
……在使用当前自研服务器框架的过程中,我反复遇到一个问题:
一旦业务涉及多节点协作,系统复杂度就会迅速上升。
……在多节点服务器架构中,玩家与房间(Room)的关系管理几乎是一个无法回避的问题。
表面上看,这不过是一个简单的映射关系:
player_id -> room_id
在多人实时系统中,“加入房间”是一个看似简单、但极易出问题的流程。
真正的复杂度,往往隐藏在并发与分布式之下。
本文从一个非常具体的问题出发,聊一聊我在 Skynet 架构中,为什么最终选择了虚位占用,而不是传统的锁。
……在实时对战、匹配类系统中,「创建房间 + 加入房间」是非常核心的一条链路。但只要这条链路中 存在会让出协程的操作(DB、RPC、跨节点加载实体等),并发问题就几乎不可避免。
一个典型现象是:
多个玩家几乎同时请求加入房间
系统判断“当前没有未满房间”
最终却创建出了多个未满房间
这并不是代码写错了,而是并发 + 协程让出下的必然结果。
下面总结两种在实际工程中可落地、可维护的解决思路。
……