close ray after connection fails

pull/182/head^2
V2Ray 2015-09-15 12:54:25 +02:00
parent 29dcb433cf
commit 53a8a02738
1 changed files with 4 additions and 3 deletions

View File

@ -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 {
input := ray.OutboundInput()
output := ray.OutboundOutput()
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{dest.IP, int(dest.Port), ""})
log.Debug("VMessOutbound dialing tcp: %s", dest.String())
if err != nil {
log.Error("Failed to open tcp (%s): %v", dest.String(), err)
close(output)
return err
}
defer conn.Close()
input := ray.OutboundInput()
output := ray.OutboundOutput()
requestWriter := vmessio.NewVMessRequestWriter()
err = requestWriter.Write(conn, request)
if err != nil {