go语言之路

我竟然在路由器上跑了go程序–为什么不能在公共场合随便连接wifi!

我竟然在路由器上跑了go程序

今天去找计网老师聊开发项目的事情,老师简单粗暴的给了我一堆资料,一个开发板,一个开关,一根网线,说回去看下资料!阿这,大佬讲话就是这么简单粗暴吗?

image-20210305215853037

于是我就开始了探究之路,当然唯一的参考资料就是这个文件夹里面的文档了。

原来这个路由器板子是使用了linux内核开发而成,发行版称为openwrt,那事情就好办了!

首先为了能连入该板子的终端,要配置网络模式。首先我选择了usb网线即有线连接,连接到openwrt终端。经典的ls狂输。但是既然这是个路由器设备,我应该配置wifi模式连接即无线连接,于是看了这个文档。最终是把网线的一端插入到开发板的wan接口,一端插入到我们寝室的路由器的lan接口上。然后我的电脑上连接wifi,并能成功连接上网。我想这个原理就是寝室的路由器将流量转发到开发板上,我再从开发板上的wifi接入流量实现访问外网的吧!

突然联想到linux基础与应用的老师讲过尽量不要在公共场合去连接wifi,因为这极其的不安全,倘若你访问了不安全的服务(如http非https),那么你的个人信息将会暴露。今天我算是真正明白了,我可以通过这个开发板提供wifi给其他人用,当其他人连接到这个wifi时,我可以通过抓包获取信息。所以大家尽量不要在公共场合连接wifi,防止有某些人盗取信息造成损失。

作为一个gopher,我当然要尝试如何在这个开发板上去跑go程序了!倘若能将go代码跑成功,那么干的事情又多了!似乎变得有趣起来了!

通过一些linux命令(uname -a),我了解到该开发板cpu架构为mips,这是一种多使用在电子产品、网络设备、个人娱乐装置与商业装置上。我们了解到的cpu架构一般是intel,amd,arm,这也算是知识的补充了吧!

image-20210305221957277

那我们跑go程序当然不是在开发板上安装go编译工具,原因有以下几点:

  • 一般这种开发板内存和硬盘空间都比较少。
  • 各种软件的依赖包难找,容易出问题

image-20210305222627899

所以我们应当使用交叉编译编译出可在mips架构上可直接运行的二进制程序。我们在windows平台上去交叉编译go代码,生成可在mips上可直接运行的二进制程序。

写上经典的hello world代码

package main
import (
    "fmt"
)
func main() {
    fmt.Println("hello")
}

然后我们进行交叉编译,不得不夸赞go在各种平台上支持的比较好!

GOOS=linux GOARCH=mipsle go build -ldflags "-s -w" hello.go

image-20210305222727129

接下来就是考虑如何将编译好的二进制程序hello传输到开发板中了。

我使用了scp这个命令。

image-20210305222851217

首先用chmod +x hello,赋予可执行权限,然后执行二进制程序。

image-20210305223047942

成功执行了!很nice!

然后我尝试了运行http服务,也毫无问题,那接下来的事情就好办了!好玩的事情就多了,拭目以待吧哈哈。

2021你必须懂的RPC--分布式、微服务和云计算应用的核心技术

上一篇

openwrt上部署go web项目

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫