Fix UDP reading on Windows

pull/255/head
v2ray 8 years ago
parent ad1353ac2f
commit 55e5268ce8
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -78,6 +78,7 @@ func (this *UDPHub) start() {
buffer := alloc.NewBuffer() buffer := alloc.NewBuffer()
nBytes, noob, _, addr, err := this.conn.ReadMsgUDP(buffer.Value, oobBytes) nBytes, noob, _, addr, err := this.conn.ReadMsgUDP(buffer.Value, oobBytes)
if err != nil { if err != nil {
log.Info("UDP|Hub: Failed to read UDP msg: ", err)
buffer.Release() buffer.Release()
continue continue
} }

@ -3,6 +3,7 @@
package udp package udp
import ( import (
"net"
"syscall" "syscall"
v2net "github.com/v2ray/v2ray-core/common/net" v2net "github.com/v2ray/v2ray-core/common/net"
@ -32,3 +33,7 @@ func RetrieveOriginalDest(oob []byte) v2net.Destination {
} }
return nil return nil
} }
func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int, int, *net.UDPAddr, error) {
return conn.ReadMsgUDP(payload, oob)
}

@ -3,6 +3,8 @@
package udp package udp
import ( import (
"net"
v2net "github.com/v2ray/v2ray-core/common/net" v2net "github.com/v2ray/v2ray-core/common/net"
) )
@ -13,3 +15,8 @@ func SetOriginalDestOptions(fd int) error {
func RetrieveOriginalDest(oob []byte) v2net.Destination { func RetrieveOriginalDest(oob []byte) v2net.Destination {
return nil return nil
} }
func ReadUDPMsg(conn *net.UDPConn, payload []byte, oob []byte) (int, int, int, *net.UDPAddr, error) {
nBytes, addr, err := conn.ReadFromUDP(payload)
return nBytes, 0, 0, addr, err
}

Loading…
Cancel
Save