1. 程式人生 > >Go網路程式設計 Conn介面

Go網路程式設計 Conn介面

Conn介面型別

Conn是一種通用的面向流的網路連線,多個Goroutine可以同時呼叫Conn上的方法。

主要通過Read(b []byte)讀取資料,Write(b [byte]) 寫資料 及Close() 關閉連線。

其原始碼定義在net.go中

type Conn interface {        
        Read(b []byte) (n int, err error)      
        Write(b []byte) (n int, err error)      
        Close() error      
        LocalAddr() Addr       
        RemoteAddr() Addr
        SetDeadline(t time.Time) error     
        SetReadDeadline(t time.Time) error
        SetWriteDeadline(t time.Time) error
}

【conn結構體】

conn結構體為一個 *netFD的網路檔案描述符號,Conn介面方法都會作用在conn物件上。(net.conn只是*netFD的wrapper結構,最終Write和Read都會落在其中的fd上)


type conn struct {
    fd *netFD
}