GoLang系列-beego框架的使用(二)

GoLang系列-beego框架的使用(二)

前言:在上篇博客中,主要针对于Go的安装、Beego的安装以及如何创建一个Beego项目做出了介绍,但是没有对Beego框架的使用以及架构的分析进行介绍,此篇博客将主要对于Beego的使用进行介绍

在这里插入图片描述


Beego结构分析

在上篇博客中我们通过 bee new demo 创建了一个demo项目,用 Goland 编译器打开此项目结构如下:

在这里插入图片描述

  • conf -> app.conf : beego 默认会解析当前应用下的 conf/app.conf 文件,通过这个文件你可以初始化很多 beego 的默认参数 , 也就是我们常说的配置文件
  • controllers : 接受用户请求的控制器,控制器里面内嵌了 beego.Controller,这也就是 Go 的嵌入方式
  • model : model 就是逐步抽象的过程,一般我们会在 Model 里面处理一些数据读取,比如数据库操作等(如果应用简单,可忽略model)
  • routers : 所谓路由就是映射 URL 到 controller, beego 存在三种方式的路由:固定路由、正则路由、自动路由
  • static : 静态文件,里面放置一些样式、图片或者js文件供视图进行调用
  • tests : tests目录下就是我们常说的测试文件,在此要注意的是以 _test.go结尾的默认都为测试文件
  • view : 视图层,也就是常说的前端,在 Controller 里面把数据赋值给了 data(map 类型),然后在模板中就直接通过 key 访问
  • main.go : 整个项目的入口文件,里面的 main 函数是入口函数,通过beego.Run()对项目进行编译运行

以上就是我们通过命令 bee new demo(

好的,我知道你的问题了。首先,使用beego框架和go-socket.io搭建聊天室需要以下步骤: 1. 安装beego和go-socket.io ```shell go get github.com/astaxie/beego go get github.com/googollee/go-socket.io ``` 2. 创建beego项目 ```shell bee new chatroom cd chatroom ``` 3. 在main.go中引入go-socket.io的包并创建socket.io服务器 ```go package main import ( "github.com/astaxie/beego" "github.com/googollee/go-socket.io" ) func main() { server, err := socketio.NewServer(nil) if err != nil { beego.Error("Socket.IO server creation failed: ", err) return } // TODO: 后续代码 } ``` 4. 添加路由 ```go server.On("connection", func(so socketio.Socket) { beego.Info("New user connected.") // 处理用户连接事件 so.On("chat", func(msg string) { beego.Info("Message received: ", msg) // TODO: 处理消息 }) // 处理用户断开连接事件 so.On("disconnection", func() { beego.Info("User disconnected.") }) }) // 处理根路由 beego.Router("/", &controllers.MainController{}) // 处理socket.io路由 beego.Handler("/socket.io/", server) beego.Handler("/socket.io.js", http.FileServer(http.Dir("./node_modules/socket.io-client/dist/")).ServeHTTP) ``` 5. 在前端页面上添加socket.io客户端代码 ```html <script src="/socket.io.js"></script> <script> var socket = io.connect('http://localhost:8080'); socket.on('connect', function () { console.log('Connected to server.'); }); socket.on('chat', function (message) { console.log('Message received: ' + message); }); socket.on('disconnect', function () { console.log('Disconnected from server.'); }); </script> ``` 6. 处理聊天消息 ```go server.On("connection", func(so socketio.Socket) { beego.Info("New user connected.") // 处理用户连接事件 so.On("chat", func(msg string) { beego.Info("Message received: ", msg) // 广播消息给所有用户 server.BroadcastToAll("chat", msg) }) // 处理用户断开连接事件 so.On("disconnection", func() { beego.Info("User disconnected.") }) }) ``` 这样,你就可以使用beego框架和go-socket.io搭建一个简单的聊天室了。当然,以上代码只是一个简单的示例,你可以根据具体需求进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值