我正在学习使用节点和袖珍。 我正在问一问一题。 目前,我正在着手开展一个纸张-剪切游戏,我有两位听众,负责我的议事日程:创建Room和加入Room。 在我和罗马诺的听众中,我谨向会议厅的两名成员寄发一份书状。 然而,当我坐在我的桌旁时(加入Room),我不能寄出一席。 这里有些法典可能有助于你更好地理解我的问题:
// server-side
io.on( connection , (socket) => {
socket.emit( startGame ); // Works
socket.on( joinRoom , (data) => {
socket.emit( startGame ); // Does not work
socket.to(data.room).emit( startGame ); // Does not work
io.to(data.room).emit( startGame ); // Does not work
io.emit( startGame ); // Works but it sends the socket to all clients and that s not what I want
});
});
// client-side
useEffect(() => {
socket.on( startGame , (data) => {
alert(socket.id);
});
return () => {
socket.off( startGame );
};
}, [socket]);
// server.js
const express = require( express )
const app = express();
const http = require( http );
const { Server } = require( socket.io );
const cors = require("cors");
app.use(cors());
const gameController = require( ./controller/gameController );
const server = http.createServer(app);
const io = new Server(server, {
cors: {
origin: "http://localhost:3000",
},
});
io.on( connection , (socket) => gameController.socketHandler(io, socket));
server.listen(3001);
module.exports = io;
我已经尝试通过研究其他例子来改变我的准则。 我接着发言。 我甚至修改了这封信的原文。 io,但无所作为。