Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef UDP_CLIENT_H
- #define UDP_CLIENT_H
- #include "ICommClient.h"
- #include <boost/asio.hpp>
- #include <boost/system/error_code.hpp>
- using boost::asio::ip::udp;
- using boost::asio::ip::address;
- // ReSharper disable once CppPolymorphicClassWithNonVirtualPublicDestructor
- class UdpClient : public ICommClient // NOLINT
- {
- public:
- UdpClient();
- // ReSharper disable once CppHidingFunction
- ~UdpClient();
- void Init(bool) override;
- void Send(std::string) override;
- boost::signals2::signal<void(std::string)> Incoming;
- private:
- boost::asio::io_service _ioServiceIn;
- boost::shared_ptr<udp::socket> _socketIn;
- udp::endpoint _endpointIn;
- std::array<char, 1024> _bufferIn;
- boost::asio::io_service _ioServiceOut;
- boost::shared_ptr<udp::socket> _socketOut;
- udp::endpoint _endpointOut;
- void StartReceive();
- void Receive(const boost::system::error_code& error, std::size_t bytesTransferred);
- };
- #endif //UDP_CLIENT_H
Advertisement
Add Comment
Please, Sign In to add comment