1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-10 09:50:43 +00:00

adjust connection type priority

This commit is contained in:
v2ray 2016-06-15 01:08:03 +02:00
parent 9d21c78a01
commit 103c721626
2 changed files with 9 additions and 6 deletions

View File

@ -24,10 +24,10 @@ var (
func Dial(src v2net.Address, dest v2net.Destination, settings *StreamSettings) (Connection, error) {
if dest.IsTCP() {
switch {
case settings.IsCapableOf(StreamConnectionTypeKCP):
return KCPDialer(src, dest)
case settings.IsCapableOf(StreamConnectionTypeTCP):
return TCPDialer(src, dest)
case settings.IsCapableOf(StreamConnectionTypeKCP):
return KCPDialer(src, dest)
case settings.IsCapableOf(StreamConnectionTypeRawTCP):
return RawTCPDialer(src, dest)
}

View File

@ -34,12 +34,15 @@ type TCPHub struct {
func ListenTCP(address v2net.Address, port v2net.Port, callback ConnectionHandler, settings *StreamSettings) (*TCPHub, error) {
var listener Listener
var err error
if settings.IsCapableOf(StreamConnectionTypeKCP) {
listener, err = KCPListenFunc(address, port)
} else if settings.IsCapableOf(StreamConnectionTypeTCP) {
switch {
case settings.IsCapableOf(StreamConnectionTypeTCP):
listener, err = TCPListenFunc(address, port)
} else {
case settings.IsCapableOf(StreamConnectionTypeKCP):
listener, err = KCPListenFunc(address, port)
case settings.IsCapableOf(StreamConnectionTypeRawTCP):
listener, err = RawTCPListenFunc(address, port)
default:
err = ErrUnsupportedStreamType
}
if err != nil {