如何解决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 举报,一经查实,本站将立刻删除。