套接字不发出消息
Socket not emit messages
我在使用 React 和 ExpressJS 接收从客户端到服务器的消息时遇到了问题。在客户端启动 sendMessage
功能后,我想向服务器发送我的消息,但是,我不知道为什么我的服务器没有收到此消息,并且 io.on("message", (message) => {
没有用他的 [= 启动30=]:/
这是我的代码
服务器端:
index.ts
const server = http.createServer(app);
export const socketIo = socket(server);
socket.ts
export const socket = (httpServer: any) => {
const io = new Server(httpServer, { cors: { origin: "http://localhost:5000" } });
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
});
io.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
})
}
客户端:
App.tsx
const SOCKET_SERVER = "http://127.0.0.1:3000";
export const socket = socketClient(SOCKET_SERVER);
socket.on('connect', () => {
console.log('CONNECTED WITH BACKEND SOCKET')
})
Chat.tsx
const sendMessage = () => {
const message = form.getFieldsValue()["typedMessage"];
socket.emit("message", message);
form.resetFields();
};
感谢您的帮助!
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
});
io.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
})
“连接”在服务器侦听器上触发并提供连接的套接字。然后套接字用于接收消息。这意味着接收消息必须在 socket
上完成,而不是在监听器 io
:
上完成
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
socket.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
});
});
我在使用 React 和 ExpressJS 接收从客户端到服务器的消息时遇到了问题。在客户端启动 sendMessage
功能后,我想向服务器发送我的消息,但是,我不知道为什么我的服务器没有收到此消息,并且 io.on("message", (message) => {
没有用他的 [= 启动30=]:/
这是我的代码
服务器端: index.ts
const server = http.createServer(app);
export const socketIo = socket(server);
socket.ts
export const socket = (httpServer: any) => {
const io = new Server(httpServer, { cors: { origin: "http://localhost:5000" } });
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
});
io.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
})
}
客户端: App.tsx
const SOCKET_SERVER = "http://127.0.0.1:3000";
export const socket = socketClient(SOCKET_SERVER);
socket.on('connect', () => {
console.log('CONNECTED WITH BACKEND SOCKET')
})
Chat.tsx
const sendMessage = () => {
const message = form.getFieldsValue()["typedMessage"];
socket.emit("message", message);
form.resetFields();
};
感谢您的帮助!
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
});
io.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
})
“连接”在服务器侦听器上触发并提供连接的套接字。然后套接字用于接收消息。这意味着接收消息必须在 socket
上完成,而不是在监听器 io
:
io.on("connection", (socket) => {
console.log("Socket connected!")
socket.emit('connection', null);
socket.on("message", (message) => {
console.log("NEW MESSAGE: ", message)
});
});