使用 React 和 ExpressJS 從客戶端到服務器接收訊息時遇到問題。在客戶端啟動sendMessage功能后,我想將我的訊息發送到服務器,但是,我不知道為什么我的服務器沒有收到此訊息并且io.on("message", (message) => {沒有使用他的 console.log 啟動:/
這是我的代碼
服務器端:index.ts
const server = http.createServer(app);
export const socketIo = socket(server);
套接字.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')
})
聊天.tsx
const sendMessage = () => {
const message = form.getFieldsValue()["typedMessage"];
socket.emit("message", message);
form.resetFields();
};
謝謝你的幫助!
uj5u.com熱心網友回復:
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)
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/421472.html
標籤:
上一篇:C#、socket通信(外接)
