物联网机器人DIY

通用技术构建机器人!-- 孩邻物联

go实践1-简单的服务器

学习golang的编程基础知识后,之前学习了http编程,然后就可以用go编程简单的网页服务器。
go语言做的简单服务器是非常简单的。

参考代码如下:

package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"os"
	"strings"
)

func staticResource(w http.ResponseWriter, r *http.Request) {

	realpath := "/web/public"
	path := r.URL.Path
	if path == "/" {
		path = "/index.html"
	}
	fmt.Println(path)

	request_type := path[strings.LastIndex(path, "."):]
	switch request_type {
	case ".css":
		w.Header().Set("content-type", "text/css")
	case ".js":
		w.Header().Set("content-type", "text/javascript")
	default:
	}
	fmt.Println(request_type)
	fin, err := os.Open(realpath + path)
	defer fin.Close()
	if err != nil {
		fmt.Println("static resource:", err)
	}
	fd, _ := ioutil.ReadAll(fin)
	w.Write(fd)
}


func main() {
	http.HandleFunc("/", staticResource)
	http.ListenAndServe(":80", nil)
}

上面简单的web服务器代码,相当于一个文件服务器,相应浏览器的请求,并把文件数据发给客户端浏览器。现在有专门的网页框架,用来构造各种各样的web服务器,如果纯粹写博客,可以使用hugo,hexo等常用的博客框架。

go实践2-websocket

正在策划中。。。
为了解决服务器主动向浏览器发送数据,可以使用webSocket.

go实践3-mqtt客户端

正在策划中。。。

上一步完成后,此时服务器能与浏览器建立双向通信;如果服务器能实现mqtt客户端,则可以把浏览器当做一个mqtt客户端,这样子可以建立一个比较复杂的系统。

粤ICP备2022005206号-2