5
package main

import (
    "fmt"
    "net"
)

func main() {

    var localaddr net.TCPAddr
    var remoteaddr net.TCPAddr
    localaddr.IP = net.ParseIP("192.168.1.104")
    localaddr.Port = 6000
    remoteaddr.IP = net.ParseIP("192.168.1.104")
    remoteaddr.Port = 5000

    if localaddr.IP == nil || remoteaddr.IP == nil {
        fmt.Println("error")
    }

    if _, err := net.DialTCP("tcp", &localaddr, &remoteaddr); err != nil {
        fmt.Println(err)
    }

    fmt.Println("End")

}

関数がローカル IP アドレスを指定すると、実行時エラー「dial tcp 192.168.1.104:5000: 無効な引数が指定されました」が常に報告されます。混乱しています。ローカル IP アドレスは常に nil にする必要がありますか?

go バージョン: 1.1 Beta OS: Win7 64bit

go 1.0.3で試してみたところ、問題ないようでした

4

2 に答える 2

0

Go のnetパッケージは、そのようなほとんどの実装と同様に、localhost に接続するためのポートのみの構文を認識します。

:5000

と同等です

<my-ip-address>:5000

したがって、次のことができます。

net.Dial("tcp", ":5000")
于 2013-07-09T17:29:48.740 に答える