我的服务器从前端接收连接就好了,但发送消息似乎不起作用。我的语法有问题吗?
前端:
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:", c.Id(), ":", message)
c.BroadcastTo("room", "fromserver", message)
return "message sent!"
})
router.Handle("/socket.io/", socket)