前端demo function App() { const [socket, setSocket] = useState(null); const [message, setMessage] = useState([]); const [connected, setConnected] = useState(false); useEffect(() => { const ws = new WebSocket("ws://localhost:10090/"); setSocket(ws); ws.onopen = () => { setConnected(true); ws.send('Jack') }; ws.onclose = () => { setConnected(false); }; ws.onmessage = (event) => { setMessage(prevMessage => [...prevMessage, event.data]); }; return () => { if (ws.readyState === WebSocket.OPEN) { ws.close(); } }; }, []); const sendMessage = () => { setMessage([]) if (socket && connected) { socket.send('Lucy'); } }; return ( 发送消息 消息: { message.map((item,index)=>{item}) } ); } 后端demo var ws = require("nodejs-websocket") let id = '' let server = ws.createServer(connect => { connect.on("text", data => { id = data }) setInterval(()=>{ connect.send(`${id}-${new Date().getTime()}`) },1000) //监听websocket断开链接 connect.on("close", () => { console.log("websocket连接断开....") }) //监听websocket异常信息 connect.on("error", () => { console.log("websocket连接异常....") }) }) server.listen(10090, () => { console.log("websocket running") })