【发布时间】:2014-01-10 23:18:01
【问题描述】:
有没有一种方法可以处理在单个端口(例如 80)上侦听多个 Go Web 应用程序。我知道 ServeMux 和侦听不同传入主机名的能力,但在这种方法中,它们必须在同一个程序中处理,因此必须在同一个二进制文件中处理。
最好的方法是在一个二进制文件中侦听 :80 上的主机名,然后将请求/响应编写器发送到其他地方的另一个相应二进制文件吗?我会为此使用"os/exec" 吗?你将如何将Request 和ResponseWriter 参数传递给这个外部二进制文件?提前致谢!
编辑:
不同二进制来源的 goroutine 是否可以访问彼此的通道?这将是一种很酷的方式。
【问题讨论】:
-
关于您的编辑:通道不能直接用于进程间通信。这在 erlang OTP 中是可能的,但在 Go 中是不可能的。但是有一个RPC package。
标签: http go virtualhost