第十五章修改 (#834)

Co-authored-by: Joe Chen <jc@unknwon.io>
This commit is contained in:
Haigang Zhou
2022-05-17 16:33:20 +08:00
committed by GitHub
parent 60fe3dd076
commit 72f2eccbc5
12 changed files with 102 additions and 92 deletions

View File

@@ -2,7 +2,7 @@
备注Go 团队决定改进并重新打造 `netchan` 包的现有版本,它已被移至 `old/netchan``old/` 目录用于存放过时的包代码,它们不会成为 Go 1.x 的一部分。本节仅出于向后兼容性讨论 `netchan` 包的概念。
一项和 `rpc` 密切相关的技术是基于网络的通道。类似 14 章所使用的通道都是本地的,它们仅存在于被执行的机器内存空间中。`netchan` 包实现了类型安全的网络化通道:它允许一个通道两端出现由网络连接的不同计算机。其实现原理是,在其中一台机器上将传输数据发送到通道中,那么就可以被另一台计算机上同类型的通道接收。一个导出器`exporter`会按名称发布(一组)通道。导入器`importer`连接到导出的机器,并按名称导入这些通道。之后,两台机器就可按通常的方式来使用通道。网络通道不是同步的,它们类似于带缓存的通道。
一项和 `rpc` 密切相关的技术是基于网络的通道。类似 [14 章](14.0.md)所使用的通道都是本地的,它们仅存在于被执行的机器内存空间中。`netchan` 包实现了类型安全的网络化通道:它允许一个通道两端出现由网络连接的不同计算机。其实现原理是,在其中一台机器上将传输数据发送到通道中,那么就可以被另一台计算机上同类型的通道接收。一个导出器 (`exporter`) 会按名称发布(一组)通道。导入器 (`importer`) 连接到导出的机器,并按名称导入这些通道。之后,两台机器就可按通常的方式来使用通道。网络通道不是同步的,它们类似于带缓存的通道。
发送端示例代码如下:
```go