bbr 是 google 推出的 一个 tcp 单边加速算法,在 linux 内核高于 4.9 的版本中有内置
设置最大 TCP 连接数
本文字数: 531 阅读时长 ≈ 1 分钟
当我们的程序大量创建 tcp 连接时可以 会遇到 Too many open files
错误 一般在我们的程序创建 1k 左右的连接时会出现这个错误。
不应当。一个 ip 拥有 65525 个端口,理论上不应该创建 1k 就不足了。
linux 安装 gomobile
本文字数: 2.7k 阅读时长 ≈ 4 分钟
最近需要在 android 上编写网络相关的代码,因为 golang 编写网路更加方便。所以我使用了 gomobile 将 go 编写的代码导出到 android 项目。
本次演示在 debian10 下进行,别问我为什么不用 Windows 你可以尝试一下,能不能搞过。如果你使用的是 win10 我建议里在 wsl 里进行。
树莓派使用 samba 和 Windows 共享文件
本文字数: 494 阅读时长 ≈ 1 分钟
有时候我们需要在树莓派和 Windows 之间共享文件,除了 scp 以及 frp 我们们还可以选择 smb
chrome 远程开发工具
本文字数: 521 阅读时长 ≈ 1 分钟
100 行代码实现内网穿透
本文字数: 2.3k 阅读时长 ≈ 4 分钟
最近需要用到内网穿透,网上有不错的开源解决方案,我也在使用,不过只是这样我是肯定不会满足的所有自己实现了一个最简版。
nat 主要分为两部分一部分部署在带公网 IP 的服务器上,接收用户的请求。另外一部分部署在内网主机接收请求。
go reflect get and set struct value
本文字数: 3.5k 阅读时长 ≈ 6 分钟
有时候我们的值是通过反射进行创建的,无法获取值或对值进行修改。那么我们可以通过反射的方式去获取或者修改它。
关于怎么通过反射的方式创建 struct 请参考我的另外一篇文档 go 通过字符串访问结构体
redis 安装与设置
本文字数: 539 阅读时长 ≈ 1 分钟
c 调用 go
本文字数: 1.1k 阅读时长 ≈ 2 分钟
当学习一门新语言时我们可能希望把我们会的东西带到新语言上面,例如我自己。我在学习新语言时,一些目前搞不定的事我可能会用我会的语言先进行解决然后将处理结果通过 http 返回 新语言进行处理,而 通过 c 语言进行调用时另外一种方式,因为现代语言一般都会预留 c 语言的接口。
什么你问我 为什么不在 go 里调用 c 因为不是万不得已。我更希望纯go
go io.Writer 接口与 io.reader 接口
本文字数: 5.6k 阅读时长 ≈ 9 分钟
io.Writer
与 io.Reader
应该是最常用的两个接口了,一个负责向我们自己实现的类型写入数据,一个负责我们自己实现的的类型对外写出数据。
简单的说接口就是约定,遵循约定我们可以先使用然后再进行实现,这就是接口的意义。个人感觉与泛化能力有关。