我想使用 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"`}
然后就可以了!
- 1 回答
- 0 關注
- 178 瀏覽
添加回答
舉報
0/150
提交
取消