Node.js 远程桌面
远程桌面允许通过网络远程控制另一台计算机,共享屏幕、键盘和鼠标。
应用场景
| 场景 | 说明 |
|---|---|
| 远程办公 | 在家远程连接公司电脑 |
| 服务器管理 | 远程管理无显示器的服务器 |
| 技术支持 | 远程协助解决客户问题 |
| 教育培训 | 远程演示和教学 |
核心库(node-rdp)
基于 RDP(Remote Desktop Protocol)协议:
bash
npm install node-rdpjs
import RDP from 'node-rdp'
const rdp = new RDP({
host: '192.168.1.100',
port: 3389, // RDP 默认端口
username: 'admin',
password: 'password'
})
await rdp.connect()基于 WebSocket 的简单实现
js
// 使用 node-pty + socket.io 可构建 Web 终端
import { Server } from 'socket.io'
import { spawn } from 'child_process'
io.on('connection', (socket) => {
// spawn PTY 终端
const pty = spawn('cmd.exe', [])
// 接收客户端输入 → 发送到终端
socket.on('input', (data) => pty.stdin.write(data))
// 终端输出 → 发送给客户端
pty.stdout.on('data', (data) => socket.emit('output', data.toString()))
})主流协议
| 协议 | 端口 | 说明 |
|---|---|---|
| RDP | 3389 | Windows 远程桌面 |
| VNC | 5900 | 跨平台远程桌面 |
| SSH | 22 | 命令行远程连接 |