通用技术构建机器人!-- 孩邻物联
学习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等常用的博客框架。
正在策划中。。。
为了解决服务器主动向浏览器发送数据,可以使用webSocket.
正在策划中。。。
上一步完成后,此时服务器能与浏览器建立双向通信;如果服务器能实现mqtt客户端,则可以把浏览器当做一个mqtt客户端,这样子可以建立一个比较复杂的系统。