全书目录

第三十八篇:Phoenix 完全指南 —— 实时频道城邦宇宙

第十四章:Channels,是城邦的无线频道塔

1 分钟 271 字 第 733 / 962 个阅读单元

现在来到 Phoenix 名字里“实时频道”最经典的部分:Channels

Channels 和 LiveView 都实时,但它们不是同一种东西。

你要把 Channel 想成:

text
城里的无线频道塔
不同客户端拿着收发机接入
按 topic 进入不同频道
在频道里双向发消息

Phoenix Channels 官方文档里有两个特别关键的点:

  1. 客户端先建一个 Socket 连接
  2. 在同一条连接上,可以复用加入多个 Channel topic

也就是:

text
一根总无线链路
  ├── district:1
  ├── district:2
  ├── alerts:global
  └── user:42

而且 Phoenix 官方文档明确指出:

每个客户端、每个 topic,会启动一个轻量 channel 进程。

这就是 Phoenix 能把实时通信做得很自然的原因之一。