mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-24 20:07:45 +08:00
| .. | ||
| benchmark | ||
| ucat | ||
| .gitignore | ||
| .travis.yml | ||
| addr.go | ||
| buffer.go | ||
| conn.go | ||
| dial.go | ||
| LICENSE | ||
| listener.go | ||
| log.go | ||
| packet.go | ||
| README.md | ||
| utp_test.go | ||
| utp.go | ||
utp
μTP (Micro Transport Protocol) implementation
http://www.bittorrent.org/beps/bep_0029.html
warning: This is a buggy alpha version.
Benchmark History
Installation
go get github.com/h2so5/utp
Example
Echo server
package main
import (
"time"
"github.com/h2so5/utp"
)
func main() {
ln, _ := utp.Listen("utp", ":11000")
defer ln.Close()
conn, _ := ln.AcceptUTP()
conn.SetKeepAlive(time.Minute)
defer conn.Close()
for {
var buf [1024]byte
l, err := conn.Read(buf[:])
if err != nil {
break
}
_, err = conn.Write(buf[:l])
if err != nil {
break
}
}
}