配置文件app.conf修改为
$ autorender = false
controller/default.go默认为
package controllers
import (
"github.com/astaxie/beego"
)
type MainController struct {
beego.Controller
}
func (this *MainController) Get() {
this.Render()
}
在routers/router.go添加socket连接的路由
beego.Router("/ws", &controllers.WsController{})
beego.Router("/join", &controllers.WsController{},"get:Join")
controller/ws.go文件内容
package controllers
import (
"github.com/astaxie/beego"
)
type WsController struct {
beego.Controller
}
func (this *WsController) Get() {
this.Render()
}
func (this *WsController) Join() {
username := this.GetString("username")
room := this.GetString("room")
if (len(username)) == 0 {
this.Redirect("/", 302)
return
}
if (len(room)) == 0 {
this.Redirect("/", 302)
return
}
this.Render()
}view默认生成的路径是maincontroller/get.tpl
get.tpl的默认文件是如下:
<!DOCTYPE html> <html> <head> <title>测试聊天室-首页</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form method="get" action="/join"> <input name="username" /> <input name="room" /> <button type="submmit">进入聊天室</button> </form> </body> </html>