這是我的套接字服務器的代碼
const io = require("socket.io")(8080, {
cors: {
// origin: "http://localhost:3000",
origin: "https://mern-bubble.herokuapp.com",
},
});
這是我的客戶端代碼
useEffect(() => {
// socket.current = io("ws://localhost:8800");
socket.current = io("ws://mern-bubble.herokuapp.com:8800");
socket.current.on("getUser", (data) => {
console.log("data from socket", data);
dispatch(updateUserInfo(data));
});
}, [dispatch]);
當我在本地主機上作業時它完全正常,但是當我在 heroku 上部署我的專案時,socket.io 沒有任何回應?
uj5u.com熱心網友回復:
所以我認為埠 8800 在 heroku 上沒有打開。您應該堅持使用埠 3000 并重試。 https://devcenter.heroku.com/articles/node-websockets#option-2-socket-io
uj5u.com熱心網友回復:
Heroku 的埠是在啟動 Dyno 時動態分配的。而不是硬編碼 port 8800,$PORT而是使用環境變數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/380618.html
