webrtc server/session/cadidate 改为tcp
This commit is contained in:
parent
df14924a99
commit
a3f505ccc5
|
|
@ -278,18 +278,18 @@ int start_main(int argc,char *argv[]) {
|
|||
|
||||
#if defined(ENABLE_WEBRTC)
|
||||
//webrtc udp服务器
|
||||
auto rtcSrv = std::make_shared<UdpServer>();
|
||||
rtcSrv->setOnCreateSocket([](const EventPoller::Ptr &poller, const Buffer::Ptr &buf, struct sockaddr *, int) {
|
||||
if (!buf) {
|
||||
return Socket::createSocket(poller, false);
|
||||
}
|
||||
auto new_poller = WebRtcSession::queryPoller(buf);
|
||||
if (!new_poller) {
|
||||
//该数据对应的webrtc对象未找到,丢弃之
|
||||
return Socket::Ptr();
|
||||
}
|
||||
return Socket::createSocket(new_poller, false);
|
||||
});
|
||||
auto rtcSrv = std::make_shared<TcpServer>();
|
||||
// rtcSrv->setOnCreateSocket([](const EventPoller::Ptr &poller, const Buffer::Ptr &buf, struct sockaddr *, int) {
|
||||
// if (!buf) {
|
||||
// return Socket::createSocket(poller, false);
|
||||
// }
|
||||
// auto new_poller = WebRtcSession::queryPoller(buf);
|
||||
// if (!new_poller) {
|
||||
// //该数据对应的webrtc对象未找到,丢弃之
|
||||
// return Socket::Ptr();
|
||||
// }
|
||||
// return Socket::createSocket(new_poller, false);
|
||||
// });
|
||||
uint16_t rtcPort = mINI::Instance()[Rtc::kPort];
|
||||
#endif//defined(ENABLE_WEBRTC)
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ EventPoller::Ptr WebRtcSession::queryPoller(const Buffer::Ptr &buffer) {
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
WebRtcSession::WebRtcSession(const Socket::Ptr &sock) : UdpSession(sock) {
|
||||
WebRtcSession::WebRtcSession(const Socket::Ptr &sock) : TcpSession(sock) {
|
||||
socklen_t addr_len = sizeof(_peer_addr);
|
||||
getpeername(sock->rawFD(), (struct sockaddr *)&_peer_addr, &addr_len);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
namespace mediakit {
|
||||
|
||||
class WebRtcSession : public UdpSession {
|
||||
class WebRtcSession : public TcpSession {
|
||||
public:
|
||||
WebRtcSession(const Socket::Ptr &sock);
|
||||
~WebRtcSession() override;
|
||||
|
|
|
|||
|
|
@ -608,12 +608,12 @@ void WebRtcTransportImp::onRtcConfigure(RtcConfigure &configure) const {
|
|||
});
|
||||
if (extern_ips.empty()) {
|
||||
std::string localIp = SockUtil::get_local_ip();
|
||||
configure.addCandidate(*makeIceCandidate(localIp, local_port, 120, "udp"));
|
||||
configure.addCandidate(*makeIceCandidate(localIp, local_port, 120, "tcp"));
|
||||
} else {
|
||||
const uint32_t delta = 10;
|
||||
uint32_t priority = 100 + delta * extern_ips.size();
|
||||
for (auto ip : extern_ips) {
|
||||
configure.addCandidate(*makeIceCandidate(ip, local_port, priority, "udp"));
|
||||
configure.addCandidate(*makeIceCandidate(ip, local_port, priority, "tcp"));
|
||||
priority -= delta;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue