diff --git a/xsync.hpp b/xsync.hpp index 46662fa..ccc34f7 100644 --- a/xsync.hpp +++ b/xsync.hpp @@ -30,24 +30,11 @@ class XsyncNetAdd { uint32_t port; }; -class I_XSUDPListener { - public: - typedef function onMessage_t; +class I_XSUDP { public: - /** - * @brief 初始化UDP - * - * @param ip localip default 0 - * @param localport localport - * @param onMessage UDP消息监听 - * @return int - */ - virtual xs_error_code_t initialize(string ip, int localport, onMessage_t onMessage) = 0; - virtual ~I_XSUDPListener() {} -}; + typedef function onMessage_t; -class I_XSUDP { public: /** * @brief 初始化UDP @@ -80,12 +67,19 @@ class I_XSUDP { */ virtual xs_error_code_t receive(char* data, int32_t& length, XsyncNetAdd& from, int overtimems) = 0; + /** + * @brief 开始接收UDP消息 + * + * @param onMessage + * @return xs_error_code_t + */ + virtual xs_error_code_t startReceive(onMessage_t onMessage) = 0; + virtual ~I_XSUDP() {} }; class I_XSyncUDPFactory { public: - virtual shared_ptr createXSUDPListener() = 0; virtual shared_ptr createXSUDP() = 0; };