提问人:ritik mittal 提问时间:11/9/2023 更新时间:11/9/2023 访问量:17
无法将我的静态 javascript 文件连接到 NodeJS 和 ExpressJS 中的 socket.io 库
Can't connect my static javascript file to socket.io library in NodeJS and ExpressJS
问:
我正在使用 nodejs、expressjs 和 这是我的索引.js
const express = require("express");
const app = express();
const path = require("path");
const router = require("./controller/routes");
const server = require("http").createServer(app);
const io = require("socket.io")(server, {
path: "/socket.io", // Add this line to specify the path
});
port = 4000;
app.set("view engine", "ejs");
app.use("/", router.router);
app.use(
"/socket.io",
express.static(path.join(__dirname, "node_modules/socket.io/client-dist"))
);
app.use("/public", express.static(path.join(__dirname, "public")));
// app.use(express.static(path.join(__dirname, 'public')));
io.on("connection", (socket) => {
console.log("A user connected");
socket.on("join-room", () => {
console.log("Joined the room");
});
socket.on("disconnect", () => {
console.log("User disconnected");
});
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
我已经在我的 .ejs 文件中配置了套接字。我正在从我的脚本.js发出一个事件,而我在io.on()中的控制台没有打印。
我的脚本.js在公共文件夹中。
const socket = io();
const videoGrid = document.getElementById("video-grid");
console.log(videoGrid);
const myVideo = document.createElement("video");
myVideo.muted = true;
let myVideoStream;
navigator.mediaDevices
.getUserMedia({
video: true,
audio: true,
})
.then((stream) => {
myVideoStream = stream;
addVideoStream(myVideo, stream);
socket.emit("join-room");
})
.catch((err) => {
console.error("Error accessing media devices: ", err);
});
期待我的主机被打印出来
答: 暂无答案
评论