为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 中使用 socket.io 广播图像?

如何在 Golang 中使用 socket.io 广播图像?

Go
泛舟湖上清波郎朗 2023-06-05 19:48:47
我想使用 socket.io 在 Golang(服务器端)中广播图像。我已经知道如何在 Node.js 中执行此操作,但我不知道如何使用 Golang。代码如下:Node.js(有效):var io = require('socket.io')(http);   io.on('connection', function(socket){       fs.readFile(imagepath, (err, buf)=>{       socket.broadcast.emit('image', { image: true, buffer:        buf.toString('base64') });   }开始(没用):type data struct {    image  bool    buffer string}server, _ := socketio.NewServer(nil)    server.On("connection", func(socket socketio.Socket) {                f, _ := os.Open(imagepath)                reader := bufio.NewReader(f)                content, _ := ioutil.ReadAll(reader)                encoded := base64.StdEncoding.EncodeToString(content)                socket.Emit("image", data{true, encoded})        })客户端(使用 Node.js 与服务器端一起工作):var img = document.getElementById('img')var socket = io();socket.on('image', function(info) {if(info.image){ img.src = 'data:image/jpeg;base64,' + info.buffer;}});
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

GO 中数据结构的声明应该是:


type data struct {

Image  bool   `json:"image"`

Buffer string `json:"buffer"`}

然后就可以了!


查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信