Tag - TCP

Go 语言实现「外网 IP 查询」服务

外网 IP 查询服务——这应该是我写过最简单、但又有实际用处的 TCP 服务了。

流程

  1. 服务启动,监听本地 6666 端口
  2. 接受连接,返回客户端 IP
  3. 断开连接

用 Go 语言实现,加上空行还不到 30 行代码,请自行前往 GitHub 获取

部署

通过 go build 命令编译,在 macOS 上编译 Linux 版本需要指定 GOOS 参数:

GOOS=linux go build main.go

生成的 main 可以直接运行了:

./main

或者更高级点,通过 supervisor 配置成服务,使用 supervisorctl 控制。

使用

telnet 连接部署机器的 6666 端口即可,如 migege.com:6666

telnet migege.com 6666
Trying 120.27.122.8...
Connected to migege.com.
Escape character is '^]'.
1xx.2xx.2xx.1xxConnection closed by foreign host.

再也不用担心 ns1.dnspod.net 没有响应了。