服務器.js
const express_l = require('express');
const path_l = require('path');
const app_l = express_l();
const http_l = require('http');
const server_l = http_l.createServer( app_l);
const socketio_l = require('socket.io');
const io_l = socketio_l( server_l);
app_l.use( express_l.static( path_l.join( __dirname, 'public')) );
io_l.on( "connection", argSocket => { console.log('New websocket connection!'); });
var PORT = 3000 || process.env.PORT;
server_l.listen( PORT, ()=>{ console.log(`from express server on port ${PORT}!`) });
main.js
const socket = io_l();
聊天.html
...
...
<script src = "/socket.io/socket.io.js"> </script>
<script src = "js/main.js"> </script>
</body>
</html>
包.json
{
"name": "chatcord",
"version": "1.0.0",
"description": "Realtime chat application built with Nodejs",
"main": "server.js",
"scripts": {
"start": "node server",
"dev": "nodemon server"
},
"author": "xyz",
"license": "MIT",
"dependencies": {
"express": "^4.18.1",
"moment": "^2.29.3",
"socket.io": "^4.5.1"
},
"devDependencies": {
"nodemon": "^2.0.16"
}
}
現在,當我在瀏覽器中重繪 http://localhost:3000/時,我沒有on從socket.io.
我哪里錯了?請指出。
uj5u.com熱心網友回復:
這是來自套接字 io 檔案 https://socket.io/get-started/chat
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);
io.on("connection", async (socket) => {
console.log("someone connected to socket")
//add listener here
socket.on("chat",(data)=> {
console.log(data)
})
});
httpServer.listen(port, host, () => {
console.log(`Server running on http://${host}:${port}`);
});
這也是發射備忘單,可能對您有用 https://socket.io/docs/v3/emit-cheatsheet/
uj5u.com熱心網友回復:
你的初始化是錯誤的。您已經創建了一個新的套接字 io 服務器實體,然后呼叫它。檢查檔案以獲取更多資訊。 https://socket.io/get-started/chat#integrating-socketio
const { Server } = require("socket.io");
const io = new Server(server);
io.on('connection', (socket) => {
console.log('a user connected');
});
希望這會有所幫助。
uj5u.com熱心網友回復:
您正在 nodejs 服務器上進行安慰,因此請檢查您的終端以獲取控制臺的輸出。您需要研究在套接字中發射事件的作業原理(幫助材料)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490290.html
標籤:javascript html 节点.js 插座 套接字.io
上一篇:WSL2Nginx PHPFPM在連接到上游時失敗(111:連接被拒絕),客戶端:172.23.0.1,上游:“fastcgi://172.23.0.3:9001”
下一篇:如何將元素完美地融入另一個元素?
