數(shù)據(jù)包經(jīng)主線程收包后投遞到邏輯處理線程我們利用Linux reuseaddr和connect以后的udp fd特性,只有第一個(gè)數(shù)據(jù)包經(jīng)主線程收包后投遞到邏輯處理線程,其它數(shù)據(jù)包直接在邏輯線程接收。我們具體是怎么做的?首先主線程還是創(chuàng)建一個(gè)fd,綁定7000端口。當(dāng)然這里面有一個(gè)關(guān)鍵點(diǎn)是需要設(shè)置套接字的選項(xiàng)——reuseaddr,這個(gè)套接字選項(xiàng)在TCP領(lǐng)域用的很多,在UDP領(lǐng)域中大家可能還比較少接觸...
服務(wù)器將用戶的數(shù)據(jù)包進(jìn)行識(shí)別和區(qū)分多線程優(yōu)化方案,主線程監(jiān)聽在一個(gè)端口,并使用前面提到方案在服務(wù)器將用戶的數(shù)據(jù)包進(jìn)行識(shí)別和區(qū)分。首先我們服務(wù)器端主線程會(huì)創(chuàng)建一個(gè)UDP的socket,綁定到7000端口,并注冊(cè)監(jiān)聽可讀事件,WebRTC客戶端會(huì)給服務(wù)端7000端口發(fā)數(shù)據(jù)包。當(dāng)然在之前SDP和ICE Candidate的協(xié)商流程已經(jīng)做完了,我們從stun的第一個(gè)數(shù)據(jù)包(stun binding req...