From 85fec6da0bc764f99df6a918f441c227c7eb3a94 Mon Sep 17 00:00:00 2001 From: ziyue <1213642868@qq.com> Date: Sat, 16 Oct 2021 10:29:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86WebRtcSession=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/main.cpp | 2 +- webrtc/WebRtcSession.cpp | 22 ++++++++++++---------- webrtc/WebRtcSession.h | 4 ++-- 3 files changed, 15 insertions(+), 13 deletions(-) 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 &);