diff --git a/server/main.cpp b/server/main.cpp index 1e333e62..bb972bfb 100644 --- a/server/main.cpp +++ b/server/main.cpp @@ -274,7 +274,7 @@ int start_main(int argc,char *argv[]) { if (!buf) { return Socket::createSocket(poller, false); } - auto new_poller = QueryPollerByBuffer(buf); + auto new_poller = WebRtcSession::queryPoller(buf); if (!new_poller) { //该数据对应的webrtc对象未找到,丢弃之 return Socket::Ptr(); diff --git a/webrtc/WebRtcSession.cpp b/webrtc/WebRtcSession.cpp index 52478763..1ba5235e 100644 --- a/webrtc/WebRtcSession.cpp +++ b/webrtc/WebRtcSession.cpp @@ -11,15 +11,6 @@ #include "WebRtcSession.h" #include "Util/util.h" -WebRtcSession::WebRtcSession(const Socket::Ptr &sock) : UdpSession(sock) { - socklen_t addr_len = sizeof(_peer_addr); - getpeername(sock->rawFD(), &_peer_addr, &addr_len); -} - -WebRtcSession::~WebRtcSession() { - InfoP(this); -} - static string getUserName(const Buffer::Ptr &buffer) { auto buf = buffer->data(); auto len = buffer->size(); @@ -39,7 +30,7 @@ static string getUserName(const Buffer::Ptr &buffer) { return vec[0]; } -EventPoller::Ptr QueryPollerByBuffer(const Buffer::Ptr &buffer) { +EventPoller::Ptr WebRtcSession::queryPoller(const Buffer::Ptr &buffer) { auto user_name = getUserName(buffer); if (user_name.empty()) { return nullptr; @@ -48,6 +39,17 @@ EventPoller::Ptr QueryPollerByBuffer(const Buffer::Ptr &buffer) { return ret ? ret->getPoller() : nullptr; } +//////////////////////////////////////////////////////////////////////////////// + +WebRtcSession::WebRtcSession(const Socket::Ptr &sock) : UdpSession(sock) { + socklen_t addr_len = sizeof(_peer_addr); + getpeername(sock->rawFD(), &_peer_addr, &addr_len); +} + +WebRtcSession::~WebRtcSession() { + InfoP(this); +} + void WebRtcSession::onRecv(const Buffer::Ptr &buffer) { try { onRecv_l(buffer); diff --git a/webrtc/WebRtcSession.h b/webrtc/WebRtcSession.h index 20ac1600..02ec9d9a 100644 --- a/webrtc/WebRtcSession.h +++ b/webrtc/WebRtcSession.h @@ -18,8 +18,6 @@ using namespace toolkit; -EventPoller::Ptr QueryPollerByBuffer(const Buffer::Ptr &buffer); - class WebRtcSession : public UdpSession { public: WebRtcSession(const Socket::Ptr &sock); @@ -30,6 +28,8 @@ public: void onManager() override; std::string getIdentifier() const override; + static EventPoller::Ptr queryPoller(const Buffer::Ptr &buffer); + private: void onRecv_l(const Buffer::Ptr &);