這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
----------------------------------------
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語言國內小站集錦:
http://studygolang.com/topics/node22
http://bbs.go-china.org/
http://sudochina.com/
http://www.golangtc.com/
----------------------------------------
2013-05-31
golang net 庫
-
err時沒有close ??
-
DialTimeout
-
dialtimeout是不行的
-
因為http會有複用
-
方案1:
-
要寫個結構 繼承conn 然後在每次讀資料時調設定逾時時間
type TimeoutConn struct {
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下面的檔案全部刪除
----------------------------------------