微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Socket.io 服务器未从使用 graarh/golang-socketio 实现的客户端接收消息

如何解决Socket.io 服务器未从使用 graarh/golang-socketio 实现的客户端接收消息

我的服务器从前端接收连接就好了,但发送消息似乎不起作用。我的语法有问题吗?

前端:

const API_URL = "http://localhost:3311/socket.io/"
let socket = io.connect(API_URL,{transports: ['websocket']})

socket.on("fromserver",(data) => {
    console.log(data)
    appendMessage("other-message",data)
})

inputForm.addEventListener("submit",e => {
    e.preventDefault()

    const message = inputBox.value
    socket.emit("fromclient",message,(result) => {
        console.log(result)
    })

    inputForm.reset()
})

后端:

router := chi.NewRouter()


router.Get("/",func(res http.ResponseWriter,req *http.Request) {
    http.ServeFile(res,req,"./templates/index.html")
})


socket.On(gosocketio.OnConnection,func(c *gosocketio.Channel) {
        fmt.Println("id:",c.Id(),"ip:",c.Ip())
        c.Join("room")
})

socket.On("fromclient",func(c *gosocketio.Channel,message string) string  {
          fmt.Println("message from id:",":",message)
                
          c.broadcastTo("room","fromserver",message)
          return "message sent!"
})

router.Handle("/socket.io/",socket)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。