详细问题是这样的: 我有两个一样的站点,分别为
site1 := "www.aaa.com:80"
site2 := "www.bbb.com:80"
一般创建一个连接是这样的:
conn, err := net.Dial("tcp", site1)
我想从站点获取数据,创建连接的时候,我想同时创建,但是谁先创建成功我就要谁。 就像我急着用某件物品,附近有两家超市,我安排两个人同时去买,买到了就行,而不用管是谁买到的。
func getBestConn()(net.Conn) {
ch := make(net.Conn, 1)
site1 := "www.aaa.com:80"
site2 := "www.bbb.com:80"
go func(){
cc, err := net.Dial("tcp", site1)
ch <- cc
}()
go func(){
cc, err := net.Dial("tcp", site2)
ch <- cc
}()
return <-cc
}
我写了上面的代码,但是它不能正常工作。 请问我该怎么做?
btw, 新年快乐
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.