NodeJS https://chat-hub-backend.vercel.app/socket.io/?EIO=4&transport=polling&t=OcckO93&sid=6BnH-BzrKy5mDI9RAAAA [已关闭]

mnemlml8  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(111)

**已关闭。**此问题需要debugging details。它目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答这个问题。
3天前关闭。
Improve this question
我已经使用MERN堆栈和socket.io构建了一个聊天应用程序。聊天应用程序在localhost中工作正常,但当我在Vercel中部署它时,它在登录帐户并显示聊天主页后连续显示以下错误,我可以选择任何用户并开始聊天。当我开始聊天时,我发送的消息更新较晚,接收方的消息在刷新页面后显示。所有这些问题都不会发生在本地主机上。
这就是错误:获取https://chat-hub-backend.vercel.app/socket.io/?EIO=4&transport=polling&t=OcckO93&sid=6BnH-BzrKy5mDI9RAAAA 400
POST https://chat-hub-backend.vercel.app/socket.io/?EIO=4&transport=polling&t=Occl5Ld&sid=RG1KhmNokwksXDXTAAAE 400
这两个错误是不断出现的。
server.js(代码)

io.on('connection', (socket) => {
  global.chatSocket = socket
  socket.on('add-user', (userId) => {
    onlineUsers.set(userId, socket.id)
  })
  socket.on('send-msg', (data) => {
    // console.log('sendmsg', {data})
    const sendUserSocket = onlineUsers.get(data.to)
    if(sendUserSocket){
      socket.to(sendUserSocket).emit('msg-receive', data.msg)
    }
  })
})

字符串
客户端(代码)下面的代码定义了套接字初始化

const socket = useRef()
useEffect(() => {
 if(currentUser) {
  socket.current = io(host)
  socket.current.emit('add-user', currentUser._id)
 }
}, [currentUser])


这是发送消息的代码

const handleSendMsg = async (msg) => {
 const data = await JSON.parse(localStorage.getItem('chat-app-user'))
 socket.current.emit('send-msg', {
  to: currentChat._id,
  from: data._id,
  msg
 })
 await axios.post(sendMessageRoute, {
  from: data._id,
  to: currentChat._id,
  message: msg,
 })
 const msgs = [...messages]
 msgs.push({fromSelf: true, message: msg})
 setMessages(msgs)
}
  useEffect(() => {
    if(socket.current) {
      socket.current.on('msg-receive', (msg) => {
        setArrivalMessage({fromSelf: false, message: msg})
      })
    }
  }, [])


有人能帮我解决这个问题吗?
提前致谢

yqkkidmi

yqkkidmi1#

我觉得有一些错误的沟通之间发生的职能。你能看看下面的链接,让我如果它的工作..
https://rohitjangid.hashnode.dev/real-time-data-transfer-between-client-and-server-using-socketio#clkmpk6hi062zlxnvhh7ycq7n?t=1690556281103

相关问题