我正在從BitTorrent跟蹤器獲取IP地址和端口號,用於特定的種子文件。它代表了BitTorrent網絡上的同伴。我正嘗試使用此代碼連接到對等端。連接總是超時(getsockopt:操作超時)。我想我在這裏錯過了一些非常基本的東西,因爲我在Python中嘗試了相同的代碼,結果完全相同,操作超時。它發生在每個對等IP地址上。如何調試以下Go代碼,該代碼嘗試建立到IP地址和端口的TCP連接?
我下載了這個bittorrent客戶端 - https://github.com/jtakkala/tulva 它能夠使用這種類型的代碼(Line 245,peer.go)從我的系統連接到對等端。我也能夠使用類似的代碼連接到在localhost上運行的tcp服務器。
編輯細節JimB的評論和肯尼格蘭特的回答後
package main
import (
"fmt"
"net"
)
func main() {
raddr := net.TCPAddr{IP: []byte{}/*This byte slice contains the IP*/, Port: int(/*Port number here*/)}
conn, err := net.DialTCP("tcp4", nil, &raddr)
if err != nil {
fmt.Println("Error while connecting", err)
return
}
fmt.Println("Connected to ", raddr, conn)
}
端口根本不接受連接。你想調試什麼?你的TCP地址表示很奇怪 - 你期望領先的0和255是幹什麼的? – JimB
@JimB我使用的端口爲例,因爲我不想使用佔位符。但這是誤導,所以我改變了代碼示例。 –
IP和端口並不真正相關 - 無論您可以連接還是無法連接,所以我不確定您想在此處進行調試。 – JimB