mirror of https://github.com/v2ray/v2ray-core
close ray after connection fails
parent
29dcb433cf
commit
53a8a02738
|
@ -67,17 +67,18 @@ func (handler *VMessOutboundHandler) Start(ray core.OutboundRay) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (handler *VMessOutboundHandler) startCommunicate(request *vmessio.VMessRequest, dest v2net.Address, ray core.OutboundRay) error {
|
func (handler *VMessOutboundHandler) startCommunicate(request *vmessio.VMessRequest, dest v2net.Address, ray core.OutboundRay) error {
|
||||||
|
input := ray.OutboundInput()
|
||||||
|
output := ray.OutboundOutput()
|
||||||
|
|
||||||
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{dest.IP, int(dest.Port), ""})
|
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{dest.IP, int(dest.Port), ""})
|
||||||
log.Debug("VMessOutbound dialing tcp: %s", dest.String())
|
log.Debug("VMessOutbound dialing tcp: %s", dest.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("Failed to open tcp (%s): %v", dest.String(), err)
|
log.Error("Failed to open tcp (%s): %v", dest.String(), err)
|
||||||
|
close(output)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
input := ray.OutboundInput()
|
|
||||||
output := ray.OutboundOutput()
|
|
||||||
|
|
||||||
requestWriter := vmessio.NewVMessRequestWriter()
|
requestWriter := vmessio.NewVMessRequestWriter()
|
||||||
err = requestWriter.Write(conn, request)
|
err = requestWriter.Write(conn, request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue