知识卡片

聊天室映射并发结构

专业/工作 · 470.b.1.a.2.a

内容

聊天室服务端通常用多个 goroutine 分别处理主流程、广播、客户端读写,消息广播则成为协调中心。发散:Go 写实时服务时,先画 goroutine 与 channel 的拓扑,再写业务代码。协调机制参见[[Channel表达通信]]。

参考来源

- 位置:《Go语言入门到实战(共3册)》第4章《Go语言编程之旅:第4章 WebSocket应用:聊天室》(源文件:_epub-src/text/part0009_split_000.html) - 结论依据:原文围绕“聊天室服务端通常用多个goroutine分别处理主流程、广播、客户端读写,消息广播则成为协调中心”展开机制、顺序或组件关系说明;摘录中的关键步骤和术语支撑本卡片正文及结构图。 - 原始内容:t应用:聊天室 4.1 基于 TCP 的聊天室 本节通过命令行来模拟基于 TCP 的简单聊天室。 本程序可以把用户发送的文本消息广播给聊天室内的其他用户。在该服务端程序中,共有四种goroutine:main goroutine、广播消息goroutine,以及每一个客户端连接都会有一个读和写的goroutine。 在本地创建一个项目(代码演示基于的是类UN…