mirror of
https://github.com/bolucat/Archive.git
synced 2025-10-05 00:03:19 +08:00
24 lines
506 B
Go
24 lines
506 B
Go
package core
|
|
|
|
import "net"
|
|
|
|
type listener struct {
|
|
net.Listener
|
|
StreamConnCipher
|
|
}
|
|
|
|
func Listen(network, address string, ciph StreamConnCipher) (net.Listener, error) {
|
|
l, err := net.Listen(network, address)
|
|
return &listener{l, ciph}, err
|
|
}
|
|
|
|
func (l *listener) Accept() (net.Conn, error) {
|
|
c, err := l.Listener.Accept()
|
|
return l.StreamConn(c), err
|
|
}
|
|
|
|
func Dial(network, address string, ciph StreamConnCipher) (net.Conn, error) {
|
|
c, err := net.Dial(network, address)
|
|
return ciph.StreamConn(c), err
|
|
}
|