import "net"

netパッケージは、TCP/IP、UDP、ドメイン名解決、UNIXドメインソケットを含むUnixネットワークソケットへのポータブルインタフェースを提供します。

パッケージファイル

dial.go dnsclient.go dnsconfig.go dnsmsg.go fd.go fd_darwin.go fd_freebsd.go fd_linux.go fd_nacl.go fd_windows.go hosts.go ip.go iprawsock.go ipsock.go net.go newpollserver.go parse.go pipe.go port.go resolv_windows.go sock.go tcpsock.go udpsock.go unixsock.go

定数

IPアドレスの長さ。(バイト数)

const (
    IPv4len = 4
    IPv6len = 16
)

変数

ウェルノウンIPv4アドレス。

var (
    IPv4bcast     = IPv4(255, 255, 255, 255) // ブロードキャスト
    IPv4allsys    = IPv4(224, 0, 0, 1)       // 全システム
    IPv4allrouter = IPv4(224, 0, 0, 2)       // 全ルータ
    IPv4zero      = IPv4(0, 0, 0, 0)         // 全てゼロ
)

ウェルノウンIPv6アドレス。

var (
    IPzero = make(IP, IPv6len) // all zeros
)

LookupHost関数

func LookupHost(name string) (cname string, addrs []string, err os.Error)

LookupHostは、ローカルのhostsファイルとDNSリソルバを使ってnameを検索します。この関数はホストの正規名とホストのアドレスの配列を返します。

LookupMX関数

func LookupMX(name string) (entries []*MX, err os.Error)

LookupPort関数

func LookupPort(network, service string) (port int, err os.Error)

LookupPortは、与えたnetworkとserviceからポートを検索します。

LookupSRV関数

func LookupSRV(service, proto, name string) (cname string, addrs []*SRV, err os.Error)

LookupSRVは、指定したサービス、プロトコル、ドメイン名によるSRVクエリをRFC 2782の規定に従い解決しようと試みます。ほとんどの場合、引数protoは、対応するAddr.Network()と同じになります。

Addr型

Addrは、ネットワーク終端点のアドレスを表します。

type Addr interface {
    Network() string // ネットワーク名
    String() string  // 文字列形式のアドレス
}

AddrError型

type AddrError struct {
    Error string
    Addr  string
}

(*AddrError) String関数

func (e *AddrError) String() string

(*AddrError) Temporary関数

func (e *AddrError) Temporary() bool

(*AddrError) Timeout関数

func (e *AddrError) Timeout() bool

Conn型

Connは、一般的なストリーム指向のネットワーク接続です。

type Conn interface {
    // Readは、接続からデータを読み込みます。
    // Readは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなる
    // net.Errorを返します。SetTimeoutとSetReadTimeoutを参照ください。
    Read(b []byte) (n int, err os.Error)

    // Writeは、接続にデータを書き込みます。
    // Writeは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなる
    // net.Errorを返します。SetTimeoutとSetWriteTimeoutを参照ください。
    Write(b []byte) (n int, err os.Error)

    // Closeは、接続をクローズします。
    // io.Closerを満たす必要から、返されるエラーは、os.Errorです。
    Close() os.Error

    // LocalAddrは、ローカルネットワークアドレスを返します。
    LocalAddr() Addr

    // RemoteAddrは、リモートネットワークアドレスを返します。
    RemoteAddr() Addr

    // SetTimeoutは、この接続に対する読み書きのタイムアウトを
    // 設定します。
    SetTimeout(nsec int64) os.Error

    // SetReadTimeoutは、Timeout() == trueとなるエラーを返すまでの
    // データ読み込みを待つ時間(ナノ秒)を設定します。
    // nsecに0(デフォルト)を設定すると期限が無効になります。
    SetReadTimeout(nsec int64) os.Error

    // SetWriteTimeoutTimeout() == trueとなるエラーを返すまでの
    // データ送信を待つ時間(ナノ秒)を設定します。
    // nsecに0(デフォルト)を設定すると期限が無効になります。
    // 書き込みがタイムアウトになっても、n > 0が返されたときは、
    // データの一部の送信には成功したことを表します。
    SetWriteTimeout(nsec int64) os.Error
}

Dial関数

func Dial(net, laddr, raddr string) (c Conn, err os.Error)

Dialは、ネットワークnet上のリモードアドレスaddrへ接続します。文字列laddrが空でないときは、この値は接続を行うローカルアドレスとして使用されます。

既知のネットワークは「tcp」、「tcp4」(IPv4のみ)、「tcp6」(IPv6のみ)、「udp」、「udp4」(IPv4のみ)、「udp6」(IPv6のみ)、「ip」、「ip4」(IPv4のみ)、「ip6」(IPv6のみ)、「unix」、「unixgram」です。

IPネットワークのときのアドレスは、host:port形式です。ホストがIPv6のアドレスを表すときは、角括弧で括る必要があります。

例:

Dial("tcp", "", "12.34.56.78:80")
Dial("tcp", "", "google.com:80")
Dial("tcp", "", "[de:ad:be:ef::ca:fe]:80")
Dial("tcp", "127.0.0.1:123", "127.0.0.1:88")

Pipe関数

func Pipe() (Conn, Conn)

Pipeは、同期した完全な双方向ネットワーク接続をメモリ内に作成します。両端は、Connインタフェースを実装しています。一方の読み込みは、もう一方の書き込みに対応し、コピーされたデータが2者間で直接やり取りされます。内部でバッファリングはされません。

DNSConfigError型

type DNSConfigError struct {
    Error os.Error
}

(*DNSConfigError) String関数

func (e *DNSConfigError) String() string

(*DNSConfigError) Temporary関数

func (e *DNSConfigError) Temporary() bool

(*DNSConfigError) Timeout関数

func (e *DNSConfigError) Timeout() bool

DNSError型

DNSErrorは、DNS参照エラーを表します。

type DNSError struct {
    Error     string // エラーの記述
    Name      string // 検索した名前
    Server    string // サーバで使用
    IsTimeout bool
}

(*DNSError) String関数

func (e *DNSError) String() string

(*DNSError) Temporary関数

func (e *DNSError) Temporary() bool

(*DNSError) Timeout関数

func (e *DNSError) Timeout() bool

Error型

Errorは、ネットワークエラーを表します。

type Error interface {
    os.Error
    Timeout() bool   // このエラーがタイムアウトか?
    Temporary() bool // このエラーがテンポラリか?
}

IP型

IPは、ひとつのIPアドレスであり、バイト配列です。このパッケージの関数は4バイト(IP v4)または16バイト(IP v6)の配列どちらでも入力として受け付けます。このパッケージの関数は特に明記しない限り常に、16バイト形式でIPアドレスを返します。

なお、このドキュメンテーションにおいて、IPアドレスを「IPv4アドレス」または「IPv6アドレス」と記述したときは、バイト配列の長さのことでなく、そのIPアドレスが何を指しているかを表します。(16バイトの配列が、IPv4アドレスを表すことがあり得るため)

type IP []byte

IPv4関数

func IPv4(a, b, c, d byte) IP

IPv4は、a.b.c.dのIPv4アドレスをIPアドレス(16バイト形式)で返します。

ParseIP関数

func ParseIP(s string) IP

ParseIPは、IPアドレスを解析し、結果を返します。文字列sはドット区切りの数値(「74.125.19.99」)、またはIPv6 (「2001:4860:0:2001::68」)形式です。sがIPアドレスを正しく表現していないときはnilを返します。

(IP) DefaultMask関数

func (ip IP) DefaultMask() IPMask

DefaultMaskは、IPアドレスipのデフォルトのIPマスクを返します。デフォルトのIPマスクを持つのはIPv4アドレスだけなので、ipが有効なIPv4アドレスでないときはnilを返します。

(IP) Mask関数

func (ip IP) Mask(mask IPMask) IP

Maskは、IPアドレスipをmaskでマスキングした結果を返します。

(IP) String関数

func (ip IP) String() string

Stringは、IPアドレスipを文字列形式で返します。アドレスがIPv4アドレスであるときは、文字列はドット区切りの数字(「74.125.19.99」)で表されます。そうでないときは、IPv6 (「2001:4860:0:2001::68」)表現になります。

(IP) To16関数

func (ip IP) To16() IP

To16は、IPアドレスipを16バイト表現に変換します。ipがIPアドレスでないとき(長さ不正)は、nilが返ります。

(IP) To4関数

func (ip IP) To4() IP

To4は、IPv4アドレスipを4バイト表現に変換します。ipがIPv4アドレスでないときは、nilが返ります。

IPAddr型

IPAddrは、IPの終端アドレスを表します。

type IPAddr struct {
    IP IP
}

ResolveIPAddr関数

func ResolveIPAddr(addr string) (*IPAddr, os.Error)

ResolveIPAddrは、addrをIPアドレスとして解析し、ドメイン名を数値のアドレスへ解決します。IPv6のホストアドレスは、「[::]」のように角括弧でくくる必要があります。

(*IPAddr) Network関数

func (a *IPAddr) Network() string

Networkは、このアドレスのネットワーク名「ip」を返します。

(*IPAddr) String関数

func (a *IPAddr) String() string

IPConn型

IPConnは、IPネットワーク接続用のConnとPacketConnインタフェースの実装です。

type IPConn struct {
    // contains unexported fields
}

DialIP関数

func DialIP(netProto string, laddr, raddr *IPAddr) (c *IPConn, err os.Error)

DialIPは、ネットワークnetProto上のリモードアドレスraddrへ接続します。netProtoは、「ip」、「ip4」、「ip6」のいずれかでなければなりません。

ListenIP関数

func ListenIP(netProto string, laddr *IPAddr) (c *IPConn, err os.Error)

ListenIPは、ローカルネットワークアドレスladdr上で、送られてくるIPパケットをリッスンします。返される接続cのReadFromおよびWriteToメソッドを使ってIPパケットの受信とパケットごとに宛先を指定した送信が可能で す。

(*IPConn) BindToDevice関数

func (c *IPConn) BindToDevice(device string) os.Error

BindToDeviceは、IPConnとネットワークインタフェースをバインドします。

(*IPConn) Close関数

func (c *IPConn) Close() os.Error

Closeは、IP接続をクローズします。

(*IPConn) LocalAddr関数

func (c *IPConn) LocalAddr() Addr

LocalAddrは、ローカルネットワークアドレスを返します。

(*IPConn) Read関数

func (c *IPConn) Read(b []byte) (n int, err os.Error)

Readは、net.ConnのReadメソッドの実装です。

(*IPConn) ReadFrom関数

func (c *IPConn) ReadFrom(b []byte) (n int, addr Addr, err os.Error)

ReadFromは、net.PacketConnのReadFromメソッドの実装です。

(*IPConn) ReadFromIP関数

func (c *IPConn) ReadFromIP(b []byte) (n int, addr *IPAddr, err os.Error)

ReadFromIPは、cからIPパケットを読み込み、ペイロードをbにコピーします。この関数はbにコピーしたバイト数とこのパケットのリターンアドレスを 返します。

ReadFromIPは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetReadTimeoutを参照ください。

(*IPConn) RemoteAddr関数

func (c *IPConn) RemoteAddr() Addr

RemoteAddrは、リモートネットワークアドレス(*IPAddr)を返します。

(*TCPConn) SetNoDelay関数

func (c *TCPConn) SetNoDelay(noDelay bool) os.Error

SetNoDelayは、オペレーティングシステムがパケットの送信数を減らすことを期待して、パケットの送信を遅らせるべきかどうか制御します。(ナグルのアルゴリズム) デフォルトはtrue(遅延なし)です。これは、データがWriteされた後、できるだけ早く送信されることを意味します。

(*IPConn) SetReadBuffer関数

func (c *IPConn) SetReadBuffer(bytes int) os.Error

SetReadBufferは、オペレーティングシステムがこの接続に割り当てる受信バッファサイズを設定します。

(*IPConn) SetReadTimeout関数

func (c *IPConn) SetReadTimeout(nsec int64) os.Error

SetReadTimeoutは、net.ConnのSetReadTimeoutメソッドの実装です。

(*IPConn) SetTimeout関数

func (c *IPConn) SetTimeout(nsec int64) os.Error

SetTimeoutは、net.ConnのSetTimeoutメソッドの実装です。

(*IPConn) SetWriteBuffer関数

func (c *IPConn) SetWriteBuffer(bytes int) os.Error

SetWriteBufferは、オペレーティングシステムがこの接続に割り当てる送信バッファサイズを設定します。

(*IPConn) SetWriteTimeout関数

func (c *IPConn) SetWriteTimeout(nsec int64) os.Error

SetWriteTimeoutは、net.ConnのSetWriteTimeoutメソッドの実装です。

(*IPConn) Write関数

func (c *IPConn) Write(b []byte) (n int, err os.Error)

Writeは、net.ConnのWriteメソッドの実装です。

(*IPConn) WriteTo関数

func (c *IPConn) WriteTo(b []byte, addr Addr) (n int, err os.Error)

WriteToは、net.PacketConnのWriteToメソッドの実装です。

(*IPConn) WriteToIP関数

func (c *IPConn) WriteToIP(b []byte, addr *IPAddr) (n int, err os.Error)

WriteToIPは、c経由でaddrにIPパケットを書き込みます。

WriteToIPは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetWriteTimeoutを参照ください。パケット指向の接続において書き込みがタイムアウトすることはほとんどありません。

IPMask型

IPマスクは、IPアドレスです。

type IPMask []byte

IPv4Mask関数

func IPv4Mask(a, b, c, d byte) IPMask

IPv4Maskは、a.b.c.dのIPv4マスクをIPマスク(16バイト形式)で返します。

(IPMask) String関数

func (mask IPMask) String() string

Stringは、マスクの文字列表現を返します。マスクが正規形式(後ろにゼロが続く)であるときは、その文字列表現はひとつの数値だけで表されます。マスクが正規形式でないときは、IPアドレスと同じ形式です。

InvalidAddrError型

type InvalidAddrError string

(InvalidAddrError) String関数

func (e InvalidAddrError) String() string

(InvalidAddrError) Temporary関数

func (e InvalidAddrError) Temporary() bool

(InvalidAddrError) Timeout関数

func (e InvalidAddrError) Timeout() bool

InvalidConnError型

type InvalidConnError struct{}

(*InvalidConnError) String関数

func (e *InvalidConnError) String() string

(*InvalidConnError) Temporary関数

func (e *InvalidConnError) Temporary() bool

(*InvalidConnError) Timeout関数

func (e *InvalidConnError) Timeout() bool

Listener型

Listenerは、一般的なストリーム指向プロトコルのネットワークリスナです。

type Listener interface {
    // Acceptは、このリスナから次の接続を待ち、その接続を返します。
    Accept() (c Conn, err os.Error)

    // Closeは、リスナをクローズします。
    // io.Closerを満たす必要から、返されるエラーは、os.Errorです。
    Close() os.Error

    // Addrは、リスナのネットワークアドレスを返します。
    Addr() Addr
}

Listen関数

func Listen(net, laddr string) (l Listener, err os.Error)

Listenは、ローカルネットワークアドレスladdr上でリッスンします。ネットワーク文字列netは、ストリーム指向ネットワーク(「tcp」、「tcp4」、「tcp6」、「unix」)でなければなりません。

MX型

type MX struct {
    Host string
    Pref uint16
}

OpError型

type OpError struct {
    Op    string
    Net   string
    Addr  Addr
    Error os.Error
}

(*OpError) String関数

func (e *OpError) String() string

(*OpError) Temporary関数

func (e *OpError) Temporary() bool

(*OpError) Timeout関数

func (e *OpError) Timeout() bool

PacketConn型

PacketConnは、一般的なパケット指向のネットワーク接続です。

type PacketConn interface {
    // ReadFromは、接続からパケットを読み込み、
    // ペイロードをbにコピーします。
    // この関数はbにコピーしたバイト数と
    // このパケットのリターンアドレスを返します。
    // ReadFromは、一定時間経過したときにタイムアウトとなり、
    // Timeout() == trueとなるnet.Errorを返します。
    // SetTimeoutとSetReadTimeoutを参照ください。
    ReadFrom(b []byte) (n int, addr Addr, err os.Error)

    // WriteToは、ペイロードbを持つパケットをaddrに書き込みます。
    // WriteToは、一定時間経過したときにタイムアウトとなり、
    // Timeout() == trueとなるnet.Errorを返します。
    // SetTimeoutとSetWriteTimeoutを参照ください。
    // パケット指向の接続において書き込みがタイムアウトすることは稀です。
    WriteTo(b []byte, addr Addr) (n int, err os.Error)

    // Closeは、接続をクローズします。
    // io.Closerを満たす必要から、返されるエラーは、os.Errorです。
    Close() os.Error

    // LocalAddrは、ローカルネットワークアドレスを返します。
    LocalAddr() Addr

    // SetTimeoutは、この接続に対する読み書きのタイムアウトを
    // 設定します。
    SetTimeout(nsec int64) os.Error

    // SetReadTimeoutは、Timeout() == trueとなるエラーを返すまでの
    // データ読み込みを待つ時間(ナノ秒)を設定します。
    // nsecに0(デフォルト)を設定すると期限が無効になります。
    SetReadTimeout(nsec int64) os.Error

    // SetWriteTimeoutTimeout() == trueとなるエラーを返すまでの
    // データ送信を待つ時間(ナノ秒)を設定します。
    // nsecに0(デフォルト)を設定すると期限が無効になります。
    // 書き込みがタイムアウトになっても、n > 0が返されたときは、
    // データの一部の送信には成功したことを表します。
    SetWriteTimeout(nsec int64) os.Error
}

ListenPacket関数

func ListenPacket(net, laddr string) (c PacketConn, err os.Error)

ListenPacketは、ローカルネットワークアドレスladdr上でリッスンします。ネットワーク文字列netは、パケット指向ネットワーク (「udp」、「udp4」、「udp6」、「unixgram」)でなければなりません。

SRV型

type SRV struct {
    Target   string
    Port     uint16
    Priority uint16
    Weight   uint16
}

TCPAddr型

TCPAddrは、TCP終端点のアドレスを表します。

type TCPAddr struct {
    IP   IP
    Port int
}

ResolveTCPAddr関数

func ResolveTCPAddr(addr string) (*TCPAddr, os.Error)

ResolveTCPAddrは、addrをhost:port形式のTCPのアドレスとして解析し、ドメイン名またはポート名をアドレス番号に解決します。IPv6のホストアドレスを表すときは、「[::]:80」のように角括弧でくくられている必要があります。

(*TCPAddr) Network関数

func (a *TCPAddr) Network() string

Networkは、アドレスのネットワーク名(「tcp」など)を返します。

(*TCPAddr) String関数

func (a *TCPAddr) String() string

TCPConn型

TCPConnは、TCPネットワーク接続のためのConnインタフェースの実装です。

type TCPConn struct {
    // contains unexported fields
}

DialTCP関数

func DialTCP(net string, laddr, raddr *TCPAddr) (c *TCPConn, err os.Error)

DialTCPは、Dialと同じですが、TCPネットワークにのみ接続し、TCPConn構造体を返します。

(*TCPConn) Close関数

func (c *TCPConn) Close() os.Error

Closeは、TCP接続をクローズします。

(*TCPConn) File関数

func (c *TCPConn) File() (f *os.File, err os.Error)

Fileは、内部に持つos.Fileをコピーし、ブロッキングモードにしたものを返します。使用後、fをクローズするのは呼び出し側の責任において行ってください。cをクローズしてもfには影響せず、またfをクローズしてもcには影響を及ぼしません。

(*TCPConn) LocalAddr関数

func (c *TCPConn) LocalAddr() Addr

LocalAddrは、ローカルネットワークアドレス(*TCPAddr)を返します。

(*TCPConn) Read関数

func (c *TCPConn) Read(b []byte) (n int, err os.Error)

Readは、net.ConnのReadメソッドの実装です。

(*TCPConn) RemoteAddr関数

func (c *TCPConn) RemoteAddr() Addr

RemoteAddrは、リモートネットワークアドレス(*TCPAddr)を返します。

(*TCPConn) SetKeepAlive関数

func (c *TCPConn) SetKeepAlive(keepalive bool) os.Error

SetKeepAliveは、オペレーティングシステムがこの接続上にキープアライブメッセージを送信すべきか設定します。

(*TCPConn) SetLinger関数

func (c *TCPConn) SetLinger(sec int) os.Error

SetLingerは、送信待ちデータが残っているか、承認待ちである接続をClose()したときの振舞いを設定します。

sec < 0(デフォルト)のときは、Closeはすぐにリターンし、オペレーティングシステムがバックグラウンドで残りのデータを送信します。

sec == 0のときは、Closeはすぐにリターンし、オペレーティングシステムは送られなかったか承認されなかったデータを破棄します。

sec > 0のときは、Closeはデータが送信および承認されるまで最大sec秒間ブロックします。

(*TCPConn) SetReadBuffer関数

func (c *TCPConn) SetReadBuffer(bytes int) os.Error

SetReadBufferは、オペレーティングシステムがこの接続に割り当てる受信バッファサイズを設定します。

(*TCPConn) SetReadTimeout関数

func (c *TCPConn) SetReadTimeout(nsec int64) os.Error

SetReadTimeoutは、net.ConnのSetReadTimeoutメソッドの実装です。

(*TCPConn) SetTimeout関数

func (c *TCPConn) SetTimeout(nsec int64) os.Error

SetTimeoutは、net.ConnのSetTimeoutメソッドの実装です。

(*TCPConn) SetWriteBuffer関数

func (c *TCPConn) SetWriteBuffer(bytes int) os.Error

SetWriteBufferは、オペレーティングシステムがこの接続に割り当てる送信バッファサイズを設定します。

(*TCPConn) SetWriteTimeout関数

func (c *TCPConn) SetWriteTimeout(nsec int64) os.Error

SetWriteTimeoutは、net.ConnのSetWriteTimeoutメソッドの実装です。

(*TCPConn) Write関数

func (c *TCPConn) Write(b []byte) (n int, err os.Error)

Writeは、TCP接続にデータを書き込みます。

Writeは、net.ConnのWriteメソッドの実装です。

TCPListener型

TCPListenerは、TCPネットワークのリスナです。クライアントは、一般的にTCPを使用する代わりにリスナ型の変数を使わなければなりません。

type TCPListener struct {
    // contains unexported fields
}

ListenTCP関数

func ListenTCP(net string, laddr *TCPAddr) (l *TCPListener, err os.Error)

ListenTCPは、TCPアドレスladdr上でリッスンし、TCPリスナを返します。netは「tcp」、「tcp4」、「tcp6」のいずれかでなければなりません。laddrのポート番号が0のときは、使用可能なポートにリッスンします。呼び出し側はl.Addr()を使ってリッスンしたアドレスを取得できます。

(*TCPListener) Accept関数

func (l *TCPListener) Accept() (c Conn, err os.Error)

Acceptは、ListenerインタフェースのAcceptメソッドの実装です。これは次の接続を待ち、Connインタフェース型を返します。

(*TCPListener) AcceptTCP関数

func (l *TCPListener) AcceptTCP() (c *TCPConn, err os.Error)

AcceptTCPは、次の接続を受け付けて、新しい接続を返します。

(*TCPListener) Addr関数

func (l *TCPListener) Addr() Addr

Addrは、リスナのネットワークアドレス(*TCPAddr)を返します。

(*TCPListener) Close関数

func (l *TCPListener) Close() os.Error

Closeは、TCPアドレス上のリッスンを停止します。すでに受け付けた接続はクローズされません。

(*TCPListener) File関数

func (l *TCPListener) File() (f *os.File, err os.Error)

Fileは、内部に持つos.Fileをコピーし、ブロッキングモードにしたものを返します。使用後、fをクローズするのは呼び出し側の責任において行ってください。lをクローズしてもfには影響せず、またfをクローズしてもlには影響を及ぼしません。

UDPAddr型

UDPAddrは、UDP終端点のアドレスを表します。

type UDPAddr struct {
    IP   IP
    Port int
}

ResolveUDPAddr関数

func ResolveUDPAddr(addr string) (*UDPAddr, os.Error)

ResolveUDPAddrは、addrをhost:port形式のUDPアドレスとして解析し、ドメイン名またはポート名をアドレス番号に解決します。IPv6のホストアドレスを表すときは、”[::]:80″のように角括弧でくくられている必要があります。

(*UDPAddr) Network関数

func (a *UDPAddr) Network() string

Networkは、アドレスのネットワーク名(“udp”など)を返します。

(*UDPAddr) String関数

func (a *UDPAddr) String() string

UDPConn型

UDPConnは、UDPネットワーク接続のためのConnとPacketConnインタフェースの実装です。

type UDPConn struct {
    // contains unexported fields
}

DialUDP関数

func DialUDP(net string, laddr, raddr *UDPAddr) (c *UDPConn, err os.Error)

DialUDPは、ネットワークnet上のリモートアドレスraddrに接続します。netの値は「udp」、「udp4」、「udp6」いずれかである必要があります。laddrが空でないときは、この値は接続を行うローカルアドレスとして使用されます。

ListenUDP関数

func ListenUDP(net string, laddr *UDPAddr) (c *UDPConn, err os.Error)

ListenUDPは、ローカルアドレスladdr宛に送信されてくるUDPパケットをリッスンします。返される接続cのReadFromおよびWriteToメソッドを使ってUDPパケットの受信とパケットごとに宛先を指定した送信が可能です。

ListenUnixgram関数

func ListenUnixgram(net string, laddr *UnixAddr) (c *UDPConn, err os.Error)

ListenUnixgramは、ローカルアドレスladdr宛に送信されてくるUnixダイアグラムパケットをリッスンします。返される接続cのReadFromおよびWriteToメソッドを使ってUnixダイアグラムパケットの受信とパケットごとに宛先を指定した送信が可能です。ネットワークnetは、「unixgram」でなければなりません。

(*UDPConn) BindToDevice関数

func (c *UDPConn) BindToDevice(device string) os.Error

BindToDeviceは、UDPConnとネットワークインタフェースをバインドします。

(*UDPConn) Close関数

func (c *UDPConn) Close() os.Error

Closeは、UDP接続をクローズします。

(*UDPConn) File関数

func (c *UDPConn) File() (f *os.File, err os.Error)

Fileは、内部に持つos.Fileをコピーし、ブロッキングモードにしたものを返します。使用後、fをクローズするのは呼び出し側の責任において行ってください。cをクローズしてもfには影響せず、またfをクローズしてもcには影響を及ぼしません。

(*UDPConn) LocalAddr関数

func (c *UDPConn) LocalAddr() Addr

LocalAddrは、ローカルネットワークアドレスを返します。

(*UDPConn) Read関数

func (c *UDPConn) Read(b []byte) (n int, err os.Error)

Readは、net.ConnのReadメソッドの実装です。

(*UDPConn) ReadFrom関数

func (c *UDPConn) ReadFrom(b []byte) (n int, addr Addr, err os.Error)

ReadFromは、net.PacketConnのReadFromメソッドの実装です。

(*UDPConn) ReadFromUDP関数

func (c *UDPConn) ReadFromUDP(b []byte) (n int, addr *UDPAddr, err os.Error)

ReadFromUDPは、cからUDPパケットを読み込み、ペイロードをbにコピーします。この関数はbにコピーしたバイト数とこのパケットのリターンアドレスを返します。

ReadFromUDPは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetReadTimeoutを参照ください。

(*UDPConn) RemoteAddr関数

func (c *UDPConn) RemoteAddr() Addr

RemoteAddrは、リモートネットワークアドレス(*UDPAddr)を返します。

(*UDPConn) SetReadBuffer関数

func (c *UDPConn) SetReadBuffer(bytes int) os.Error

SetReadBufferは、オペレーティングシステムがこの接続に割り当てる受信バッファサイズを設定します。

(*UDPConn) SetReadTimeout関数

func (c *UDPConn) SetReadTimeout(nsec int64) os.Error

SetReadTimeoutは、net.ConnのSetReadTimeoutメソッドの実装です。

(*UDPConn) SetTimeout関数

func (c *UDPConn) SetTimeout(nsec int64) os.Error

SetTimeoutは、net.ConnのSetTimeoutメソッドの実装です。

(*UDPConn) SetWriteBuffer関数

func (c *UDPConn) SetWriteBuffer(bytes int) os.Error

SetWriteBufferは、オペレーティングシステムがこの接続に割り当てる送信バッファサイズを設定します。

(*UDPConn) SetWriteTimeout関数

func (c *UDPConn) SetWriteTimeout(nsec int64) os.Error

SetWriteTimeoutは、net.ConnのSetWriteTimeoutメソッドの実装です。

(*UDPConn) Write関数

func (c *UDPConn) Write(b []byte) (n int, err os.Error)

Writeは、net.ConnのWriteメソッドの実装です。

(*UDPConn) WriteTo関数

func (c *UDPConn) WriteTo(b []byte, addr Addr) (n int, err os.Error)

WriteToは、net.PacketConnのWriteToメソッドの実装です。

(*UDPConn) WriteToUDP関数

func (c *UDPConn) WriteToUDP(b []byte, addr *UDPAddr) (n int, err os.Error)

WriteToUDPは、bをペイロードにコピーしたUDPパケットをc経由でaddrに書き込みます。

WriteToUDP、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetWriteTimeoutを参照ください。パケット指向の接続において書き込みがタイムアウトすることはほとんどありません。

UnixAddr型

UnixAddrは、Unixドメインソケットの終端点のアドレスを表します。

type UnixAddr struct {
    Name     string
    Datagram bool
}

ResolveUnixAddr関数

func ResolveUnixAddr(net, addr string) (*UnixAddr, os.Error)

ResolveUnixAddrは、addrをUnixドメインソケットのアドレスとして解析します。文字列netは、ネットワーク名「unix」または「unixgram」です。

(*UnixAddr) Network関数

func (a *UnixAddr) Network() string

Networkは、アドレスのネットワーク名、「unix」または「unixgram」を返します。

(*UnixAddr) String関数

func (a *UnixAddr) String() string

UnixConn型

UnixConnは、Unixドメインソケット接続のためのConnインタフェースの実装です。

type UnixConn struct {
    // contains unexported fields
}

DialUnix関数

func DialUnix(net string, laddr, raddr *UnixAddr) (c *UnixConn, err os.Error)

DialUnixは、ネットワークnet上のリモートアドレスraddrに接続します。netの値は「unix」、「unixgram」いずれかである必要があります。laddrが空でないときは、この値は接続を行うローカルアドレスとして使用されます。

(*UnixConn) Close関数

func (c *UnixConn) Close() os.Error

Closeは、Unixドメイン接続をクローズします。

(*UnixConn) File関数

func (c *UnixConn) File() (f *os.File, err os.Error)

Fileは、内部に持つos.Fileをコピーし、ブロッキングモードにしたものを返します。使用後、fをクローズするのは呼び出し側の責任において行ってください。cをクローズしてもfには影響せず、またfをクローズしてもcには影響を及ぼしません。

(*UnixConn) LocalAddr関数

func (c *UnixConn) LocalAddr() Addr

LocalAddrは、ローカルネットワークアドレス(*UnixAddr)を返します。他のプロトコルと異なり、dialされた接続のLocalAddrはたいていnilです。

(*UnixConn) Read関数

func (c *UnixConn) Read(b []byte) (n int, err os.Error)

Readは、net.ConnのReadメソッドを実装します。

(*UnixConn) ReadFrom関数

func (c *UnixConn) ReadFrom(b []byte) (n int, addr Addr, err os.Error)

ReadFromは、net.PacketConnのReadFromメソッドを実装します。

(*UnixConn) ReadFromUnix関数

func (c *UnixConn) ReadFromUnix(b []byte) (n int, addr *UnixAddr, err os.Error)

ReadFromUnixは、cからUDPパケットを読み込み、ペイロードをbにコピーします。この関数はbにコピーしたバイト数とこのパケットのリターンアドレスを返します。

ReadFromUnixは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetReadTimeoutを参照ください。

(*UnixConn) ReadMsgUnix関数

func (c *UnixConn) ReadMsgUnix(b, oob []byte) (n, oobn, flags int, addr *UnixAddr, err os.Error)

(*UnixConn) RemoteAddr関数

func (c *UnixConn) RemoteAddr() Addr

RemoteAddrは、リモートネットワークアドレス(*UDPAddr)を返します。他のプロトコルと異なり、リスナでアクセプトされた接続のLocalAddrはたいていnilです。

(*UnixConn) SetReadBuffer関数

func (c *UnixConn) SetReadBuffer(bytes int) os.Error

SetReadBufferは、オペレーティングシステムがこの接続に割り当てる受信バッファサイズを設定します。

(*UnixConn) SetReadTimeout関数

func (c *UnixConn) SetReadTimeout(nsec int64) os.Error

SetReadTimeoutは、net.ConnのSetReadTimeoutメソッドの実装です。

(*UnixConn) SetTimeout関数

func (c *UnixConn) SetTimeout(nsec int64) os.Error

SetTimeouは、net.ConnのSetTimeoutメソッドの実装です。

(*UnixConn) SetWriteBuffer関数

func (c *UnixConn) SetWriteBuffer(bytes int) os.Error

SetWriteBufferは、オペレーティングシステムがこの接続に割り当てる送信バッファサイズを設定します。

(*UnixConn) SetWriteTimeout

func (c *UnixConn) SetWriteTimeout(nsec int64) os.Error

SetWriteTimeoutは、net.ConnのSetWriteTimeoutメソッドの実装です。

(*UnixConn) Write関数

func (c *UnixConn) Write(b []byte) (n int, err os.Error)

Writeは、net.ConnのWriteメソッドの実装です。

(*UnixConn) WriteMsgUnix関数

func (c *UnixConn) WriteMsgUnix(b, oob []byte, addr *UnixAddr) (n, oobn int, err os.Error)

(*UnixConn) WriteTo関数

func (c *UnixConn) WriteTo(b []byte, addr Addr) (n int, err os.Error)

WriteToは、 net.PacketConnのWriteToメソッドの実装です。

(*UnixConn) WriteToUnix関数

func (c *UnixConn) WriteToUnix(b []byte, addr *UnixAddr) (n int, err os.Error)

WriteToUnixは、 bをペイロードにコピーしたUDPパケットをc経由でaddrに書き込みます。

WriteToUnixは、一定時間経過したときにタイムアウトとなり、Timeout() == trueとなるエラーを返します。SetTimeoutとSetWriteTimeoutを参照ください。パケット指向の接続において書き込みがタイムアウトすることはほとんどありません。

UnixListener型

UnixListenerは、Unixドメインソケットのリスナです。クライアントは、一般的にUnixドメインソケットを使用する代わりにリスナ型の変数を使わなければなりません。

type UnixListener struct {
    // contains unexported fields
}

ListenUnix関数

func ListenUnix(net string, laddr *UnixAddr) (l *UnixListener, err os.Error)

ListenUnixは、Unixドメインソケットladdr上でリッスンし、Unixリスナを返します。netは「unix」(stream sockets)でなければなりません。

(*UnixListener) Accept関数

func (l *UnixListener) Accept() (c Conn, err os.Error)

Acceptは、ListenerインタフェースのAcceptメソッドの実装です。これは次の接続を待ち、Connインタフェース型を返します。

(*UnixListener) AcceptUnix関数

func (l *UnixListener) AcceptUnix() (c *UnixConn, err os.Error)

AcceptUnixは、次の接続を受け付けて、新しい接続を返します。

(*UnixListener) Addr関数

func (l *UnixListener) Addr() Addr

Addrは、リスナのネットワークアドレスを返します。

(*UnixListener) Close関数

func (l *UnixListener) Close() os.Error

Closeは、Unixアドレス上のリッスンを停止します。すでに受け付けた接続はクローズされません。

(*UnixListener) File関数

func (l *UnixListener) File() (f *os.File, err os.Error)

Fileは、内部に持つos.Fileをコピーし、ブロッキングモードにしたものを返します。使用後、fをクローズするのは呼び出し側の責任において行ってください。lをクローズしてもfには影響せず、またfをクローズしてもlには影響を及ぼしません。

UnknownNetworkError型

type UnknownNetworkError string

(UnknownNetworkError) String関数

func (e UnknownNetworkError) String() string

(UnknownNetworkError) Temporary関数

func (e UnknownNetworkError) Temporary() bool

(UnknownNetworkError) Timeout関数

func (e UnknownNetworkError) Timeout() bool

UnknownSocketError型

type UnknownSocketError struct {
    // contains unexported fields
}

(*UnknownSocketError) String関数

func (e *UnknownSocketError) String() string

バグ

Windowsの実装では、SetTimeoutは未実装です。