BitTorrent HTTP、UDP tracker impl(50%)

This commit is contained in:
liwei committed 2019-05-17 19:07:10 +08:00
1 parent 808035094c
commit 41ff983b73
16 files changed
+600 -25

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
package main
import (
"gopeed/down/bt"
)
func main() {
metaInfo, _ := bt.ParseFromFile("e:/Game.of.Thrones.S08E05.720p.WEB.H264-MEMENTO.torrent")
// metaInfo, _ := down.ParseFromFile("e:/test.torrent")
if len(metaInfo.AnnounceList) > 0 {
for _, announceArr := range metaInfo.AnnounceList {
if len(announceArr) > 0 {
for _, announce := range announceArr {
bt.DoTracker(announce, metaInfo)
}
}
}
} else {
bt.DoTracker(metaInfo.Announce, metaInfo)
}
}
+9
View File
@@ -0,0 +1,9 @@
package main
import "fmt"
func main() {
var b = -1
var n = uint32(b)
fmt.Println(n)
}
+21
View File
@@ -0,0 +1,21 @@
package main
import (
"fmt"
"net"
)
func main() {
ip := net.ParseIP("127.0.0.1")
srcAddr := &net.UDPAddr{IP: net.IPv4zero, Port: 0}
dstAddr := &net.UDPAddr{IP: ip, Port: 9981}
conn, err := net.DialUDP("udp", srcAddr, dstAddr)
if err != nil {
fmt.Println(err)
}
defer conn.Close()
conn.Write([]byte("hello"))
conn.Write([]byte("test"))
conn.Read([]byte{})
fmt.Printf("<%s>\n", conn.RemoteAddr())
}
+27
View File
@@ -0,0 +1,27 @@
package main
import (
"fmt"
"net"
)
func main() {
conn, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.ParseIP("127.0.0.1"), Port: 9981})
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Local: <%s> \n", conn.LocalAddr().String())
data := make([]byte, 1024)
for {
n, remoteAddr, err := conn.ReadFromUDP(data)
if err != nil {
fmt.Printf("error during read: %s", err)
}
fmt.Printf("<%s> %s\n", remoteAddr, data[:n])
_, err = conn.WriteToUDP([]byte("world"), remoteAddr)
if err != nil {
fmt.Printf(err.Error())
}
}
}