本文整理汇总了Golang中github.com/v2ray/v2ray-core/common/net.Address.IP方法的典型用法代码示例。如果您正苦于以下问题:Golang Address.IP方法的具体用法?Golang Address.IP怎么用?Golang Address.IP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/v2ray/v2ray-core/common/net.Address
的用法示例。
在下文中一共展示了Address.IP方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Equals
func (subject *AddressSubject) Equals(another v2net.Address) {
if subject.value.IsIPv4() && another.IsIPv4() {
IP(subject.value.IP()).Equals(another.IP())
} else if subject.value.IsIPv6() && another.IsIPv6() {
IP(subject.value.IP()).Equals(another.IP())
} else if subject.value.IsDomain() && another.IsDomain() {
assert.StringLiteral(subject.value.Domain()).Equals(another.Domain())
} else {
subject.Fail(subject.DisplayString(), "equals to", another)
}
}
示例2: ListenRawTCP
func ListenRawTCP(address v2net.Address, port v2net.Port) (internet.Listener, error) {
listener, err := net.ListenTCP("tcp", &net.TCPAddr{
IP: address.IP(),
Port: int(port),
})
if err != nil {
return nil, err
}
return &RawTCPListener{
accepting: true,
listener: listener,
}, nil
}
示例3: ListenUDP
func ListenUDP(address v2net.Address, port v2net.Port, callback UDPPayloadHandler) (*UDPHub, error) {
udpConn, err := net.ListenUDP("udp", &net.UDPAddr{
IP: address.IP(),
Port: int(port),
})
if err != nil {
return nil, err
}
hub := &UDPHub{
conn: udpConn,
callback: callback,
}
go hub.start()
return hub, nil
}
示例4: ListenTCP
func ListenTCP(address v2net.Address, port v2net.Port) (internet.Listener, error) {
listener, err := net.ListenTCP("tcp", &net.TCPAddr{
IP: address.IP(),
Port: int(port),
})
if err != nil {
return nil, err
}
l := &TCPListener{
acccepting: true,
listener: listener,
awaitingConns: make(chan *ConnectionWithError, 32),
}
go l.KeepAccepting()
return l, nil
}
示例5: appendAddress
func appendAddress(request []byte, address v2net.Address) []byte {
switch {
case address.IsIPv4():
request = append(request, byte(0x01))
request = append(request, address.IP()...)
case address.IsIPv6():
request = append(request, byte(0x04))
request = append(request, address.IP()...)
case address.IsDomain():
request = append(request, byte(0x03), byte(len(address.Domain())))
request = append(request, []byte(address.Domain())...)
}
return request
}
示例6: NewListener
func NewListener(address v2net.Address, port v2net.Port) (*Listener, error) {
l := &Listener{
block: NewSimpleAuthenticator(),
sessions: make(map[string]*Connection),
awaitingConns: make(chan *Connection, 64),
localAddr: &net.UDPAddr{
IP: address.IP(),
Port: int(port),
},
running: true,
}
hub, err := udp.ListenUDP(address, port, l.OnReceive)
if err != nil {
return nil, err
}
l.hub = hub
log.Info("KCP|Listener: listening on ", address, ":", port)
return l, nil
}
示例7: DialToDest
func DialToDest(src v2net.Address, dest v2net.Destination) (net.Conn, error) {
dialer := &net.Dialer{
Timeout: time.Second * 60,
DualStack: true,
}
if src != nil && src != v2net.AnyIP {
var addr net.Addr
if dest.IsTCP() {
addr = &net.TCPAddr{
IP: src.IP(),
Port: 0,
}
} else {
addr = &net.UDPAddr{
IP: src.IP(),
Port: 0,
}
}
dialer.LocalAddr = addr
}
return dialer.Dial(dest.Network().String(), dest.NetAddr())
}