37 MulticastReceiveTransport(
const std::string& bind,
int port,
const std::vector<Poco::Net::IPAddress>& joinGroups,
const std::string& iface =
"" );
40 virtual bool isConnected()
const noexcept override;
41 virtual std::string toString()
const noexcept override;
42 virtual std::string ID()
const noexcept override;
44 virtual bool createConnection(
bool throwEx, timeout_t readTimeout,
bool noblock)
override;
45 virtual void disconnect()
override;
46 virtual int getSocket()
const override;
47 std::vector<Poco::Net::IPAddress> getGroups();
48 void setLoopBack(
bool state );
50 bool isReadyForReceive( timeout_t tout )
noexcept override;
51 virtual ssize_t receive(
void* r_buf,
size_t sz)
override;
52 virtual int available()
override;
53 std::string iface()
const;
56 std::unique_ptr <MulticastSocketU> udp;
57 const std::string host;
59 const std::vector<Poco::Net::IPAddress> groups;
60 const std::string ifaceaddr;
70 MulticastSendTransport(
const std::string& sockHost,
int sockPort,
const std::string& groupHost,
int groupPort,
int ttl = 1 );
73 virtual bool isConnected()
const noexcept override;
74 virtual std::string toString()
const noexcept override;
76 virtual bool createConnection(
bool throwEx, timeout_t sendTimeout)
override;
77 virtual int getSocket()
const override;
78 Poco::Net::SocketAddress getGroupAddress();
81 virtual bool isReadyForSend(timeout_t tout)
noexcept override;
82 virtual ssize_t send(
const void* buf,
size_t sz)
override;
84 void setTimeToLive(
int ttl );
85 void setLoopBack(
bool state );
88 std::unique_ptr <MulticastSocketU> udp;
89 const Poco::Net::SocketAddress sockAddr;
90 const Poco::Net::SocketAddress toAddr;