48 lines
1.0 KiB
Markdown
48 lines
1.0 KiB
Markdown
|
|
# termchat — 极简双人终端聊天
|
||
|
|
|
||
|
|
一个命令启动,两个人直连聊天。无用户系统、无历史存储,断线即散。
|
||
|
|
|
||
|
|
## 用法
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm run build
|
||
|
|
|
||
|
|
# A 机(服务端)
|
||
|
|
node dist/cli.js serve -n 小明
|
||
|
|
|
||
|
|
# B 机(客户端,填 A 的 IP;本机测试用 127.0.0.1)
|
||
|
|
node dist/cli.js connect <A的IP> -n 小红
|
||
|
|
```
|
||
|
|
|
||
|
|
装成全局命令:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm install -g .
|
||
|
|
chat serve -n 小明
|
||
|
|
chat connect 192.168.x.x -n 小红
|
||
|
|
```
|
||
|
|
|
||
|
|
开发模式(免编译):`npm run dev serve -n 小明`
|
||
|
|
|
||
|
|
## 参数
|
||
|
|
|
||
|
|
| 命令 | 选项 | 默认 |
|
||
|
|
|---|---|---|
|
||
|
|
| `serve` | `-p, --port` | 9000 |
|
||
|
|
| `serve` | `-n, --name` | A |
|
||
|
|
| `connect <host>` | `-p, --port` | 9000 |
|
||
|
|
| `connect <host>` | `-n, --name` | B |
|
||
|
|
|
||
|
|
## 说明
|
||
|
|
|
||
|
|
- 协议:TCP,每行一个 JSON(`{"type":"msg","name":"…","text":"…","ts":…}`)
|
||
|
|
- 服务端只接受第一个连入的客户端
|
||
|
|
- 局域网直连;跨公网需要 A 侧有公网 IP 或端口映射(或后续加中转服务器)
|
||
|
|
- Windows 首次 `serve` 会弹防火墙授权,允许即可
|
||
|
|
|
||
|
|
## 测试
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npm run smoke # 通信层冒烟测试(不起 UI)
|
||
|
|
```
|