mirror of
https://github.com/lkmio/lkm.git
synced 2025-09-27 11:32:26 +08:00
29 lines
571 B
Go
29 lines
571 B
Go
package gb28181
|
|
|
|
import (
|
|
"github.com/lkmio/lkm/stream"
|
|
"github.com/lkmio/transport"
|
|
"net"
|
|
)
|
|
|
|
// TCPClient GB28181TCP主动收流
|
|
type TCPClient struct {
|
|
TCPServer
|
|
}
|
|
|
|
func NewTCPClient(listenPort int, remoteAddr *net.TCPAddr, source GBSource) (*TCPClient, error) {
|
|
client := &TCPClient{
|
|
TCPServer{filter: NewSingleFilter(source)},
|
|
}
|
|
tcp := transport.TCPClient{}
|
|
tcp.SetHandler(client)
|
|
|
|
addr, err := net.ResolveTCPAddr("tcp", stream.ListenAddr(listenPort))
|
|
if err != nil {
|
|
return client, err
|
|
}
|
|
|
|
_, err = tcp.Connect(addr, remoteAddr)
|
|
return client, err
|
|
}
|