随手记——Go (Golang)
----------------------------------------
2014-02-26
139K goroutines 支撑 68K 活跃连接, 每个连接有两个goroutine ,因为net包的write和read是阻塞的,只能是1:2。这条推特的意义在于,证明了了GOLANG的并发模型,解决了服务器端的 C10K 问题,而且是突破了 10K ,达到了 68K。
----------------------------------------
2014-05-13
Android:现实世界的购物平台
越过各种软件更新的小树叶,我们所看到的是Google辛勤栽种的一整片森林。将定位功能(包括离线地图)与行为识别、文字广告和强大的即时购买联系到一起,不难看出Google正将这广告平台推向更广阔的现实世界,直接装入了人们的口袋之中。
----------------------------------------
2014-05-17
《beego失落的手册》:http://go-talks.appspot.com/github.com/beego/tutorial/zh/beego/beego.slide#1
----------------------------------------
2014-05-22
http://confreaks.com/events/gophercon2014
----------------------------------------
2014-05-23
GO语言国内小站集锦:
----------------------------------------
2013-05-31
golang net 库
- err时没有close ??
- DialTimeout
- dialtimeout是不行的
- 因为http会有复用
- 方案1:
- 要写个结构 继承conn 然后在每次读数据时调设置超时时间
net.Conn
timeSegment time.Duration
}
func DialTimeout(netw, addr string) (net.Conn, error) {
conn, err := net.DialTimeout(netw, addr, time.Second*5)
if err != nil {
return nil, err
}
return &TimeoutConn{
Conn: conn,
timeSegment: time.Second * 5
}, nil
}
func (c *TimecoutConn) Read(b []byte) (n int, err error) {
c.SetReadDeadline(time.Now().Add(c.timeSegment))
return c.Conn.Read(b)
}
func (c *TimecoutConn) Write(b []byte) (n int, err error) {
c.SetReadDeadline(time.Now().Add(c.timeSegment))
return c.Conn.Write(b)
}
- 方案2:
- @七贝
我们是这样处理的。。。
func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string) (c net.Conn, err error) {
return func(netw, addr string) (net.Conn, error) {
conn, err := net.DialTimeout(netw, addr, cTimeout)
if err != nil {
return nil, err
}
conn.SetDeadline(time.Now().Add(rwTimeout))
return conn, nil
}
}
func NewTimeoutClient(connectTimeout, readWriteTimeout time.Duration) *http.Client {
return &http.Client{
Transport: &http.Transport{
Dial: TimeoutDialer(connectTimeout, readWriteTimeout),
},
}
}
2014-06-19
1. go安装包国内地址 http://www.golangtc.com/download
2. 更新了Go的版本以后,就必须把pkg下面的文件全部删除
----------------------------------------
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。