fix udp transfer
This commit is contained in:
parent
6d0efaeb07
commit
b0f02179f8
18
gost.go
18
gost.go
@ -353,13 +353,12 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) {
|
||||
|
||||
addr, err := net.ResolveUDPAddr("udp", net.JoinHostPort(up.Addr, strconv.Itoa(int(up.Port))))
|
||||
if err != nil {
|
||||
rChan <- err
|
||||
return
|
||||
log.Println(err)
|
||||
continue
|
||||
}
|
||||
if rawUdp {
|
||||
if _, err = uconn.WriteTo(up.Data, addr); err != nil {
|
||||
rChan <- err
|
||||
return
|
||||
log.Println(err)
|
||||
}
|
||||
log.Println("r", up)
|
||||
} else {
|
||||
@ -367,8 +366,7 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) {
|
||||
buf := &bytes.Buffer{}
|
||||
up.Write(buf)
|
||||
if _, err := uconn.WriteTo(buf.Bytes(), raddr); err != nil {
|
||||
rChan <- err
|
||||
return
|
||||
log.Println(err)
|
||||
}
|
||||
log.Println("r", up)
|
||||
}
|
||||
@ -380,8 +378,8 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) {
|
||||
b := make([]byte, 65797)
|
||||
n, addr, err := uconn.ReadFrom(b)
|
||||
if err != nil {
|
||||
wChan <- err
|
||||
return
|
||||
log.Println(err)
|
||||
continue
|
||||
}
|
||||
raddr = addr
|
||||
|
||||
@ -400,8 +398,8 @@ func tunnelUdp(conn net.Conn, uconn *net.UDPConn, rawUdp bool) (err error) {
|
||||
rbuf := bytes.NewReader(b[:n])
|
||||
up, err := ReadUdpPayload(rbuf)
|
||||
if err != nil {
|
||||
wChan <- err
|
||||
return
|
||||
log.Println(err)
|
||||
continue
|
||||
}
|
||||
up.Rsv = uint16(len(up.Data))
|
||||
if err := up.Write(conn); err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user