mirror of
https://github.com/v2fly/v2ray-core.git
synced 2026-04-18 19:49:13 -04:00
Split Address struct to save some bytes
This commit is contained in:
@@ -211,22 +211,19 @@ func (request *VMessRequest) ToBytes(idHash user.CounterHash, randomRangeInt64 u
|
||||
buffer = append(buffer, request.RequestKey[:]...)
|
||||
buffer = append(buffer, request.ResponseHeader[:]...)
|
||||
buffer = append(buffer, request.Command)
|
||||
|
||||
portBytes := make([]byte, 2)
|
||||
binary.BigEndian.PutUint16(portBytes, request.Address.Port)
|
||||
buffer = append(buffer, portBytes...)
|
||||
buffer = append(buffer, request.Address.PortBytes()...)
|
||||
|
||||
switch {
|
||||
case request.Address.IsIPv4():
|
||||
buffer = append(buffer, addrTypeIPv4)
|
||||
buffer = append(buffer, request.Address.IP...)
|
||||
buffer = append(buffer, request.Address.IP()...)
|
||||
case request.Address.IsIPv6():
|
||||
buffer = append(buffer, addrTypeIPv6)
|
||||
buffer = append(buffer, request.Address.IP...)
|
||||
buffer = append(buffer, request.Address.IP()...)
|
||||
case request.Address.IsDomain():
|
||||
buffer = append(buffer, addrTypeDomain)
|
||||
buffer = append(buffer, byte(len(request.Address.Domain)))
|
||||
buffer = append(buffer, []byte(request.Address.Domain)...)
|
||||
buffer = append(buffer, byte(len(request.Address.Domain())))
|
||||
buffer = append(buffer, []byte(request.Address.Domain())...)
|
||||
}
|
||||
|
||||
paddingLength := mrand.Intn(32) + 1
|
||||
|
||||
@@ -72,7 +72,7 @@ func startCommunicate(request *protocol.VMessRequest, dest *v2net.Destination, r
|
||||
input := ray.OutboundInput()
|
||||
output := ray.OutboundOutput()
|
||||
|
||||
conn, err := net.DialTCP(dest.Network(), nil, &net.TCPAddr{dest.Address().IP, int(dest.Address().Port), ""})
|
||||
conn, err := net.DialTCP(dest.Network(), nil, &net.TCPAddr{dest.Address().IP(), int(dest.Address().Port()), ""})
|
||||
if err != nil {
|
||||
log.Error("Failed to open tcp (%s): %v", dest.String(), err)
|
||||
close(output)
|
||||
|
||||
Reference in New Issue
Block a user