數(shù)據(jù)包經(jīng)主線程收包后投遞到邏輯處理線程我們利用Linux reuseaddr和connect以后的udp fd特性,只有第一個數(shù)據(jù)包經(jīng)主線程收包后投遞到邏輯處理線程,其它數(shù)據(jù)包直接在邏輯線程接收。我們具體是怎么做的?首先主線程還是創(chuàng)建一個fd,綁定7000端口。當然這里面有一個關(guān)鍵點是需要設(shè)置套接字的選項——reuseaddr,這個套接字選項在TCP領(lǐng)域用的很多,在UDP領(lǐng)域中大家可能還比較少接觸...
如何優(yōu)化WebRTC網(wǎng)關(guān)服務(wù)器的線程方案本篇文章我們將講解如何優(yōu)化WebRTC網(wǎng)關(guān)服務(wù)器的線程方案。這個也是網(wǎng)關(guān)服務(wù)器架構(gòu)設(shè)計的核心部分。我們做WebRTC網(wǎng)關(guān)服務(wù)器的時候,不僅要考慮功能可用,還要考慮并發(fā)性能。有三種方案可以選擇:第一種方案是一種多線程的方案,就是為每一個client或者是每一個PeerConnection建立一個獨立的線程去做收發(fā)。這個方案的劣勢很明顯,它跨線程的流程就會很多,...