應用程式是否能控制SDK的P2P連線?

2021-06-22 23:09:10 字數 1213 閱讀 8380

可以。自「anychat platform core sdk v2.8」版本開始,新增了p2p連線控制介面,之前的anychat sdk客戶端優先p2p網路傳輸,其次是走伺服器**模式(p2p不通時),具體使用何種處理模式由sdk內部決定,上層應用無法干預,v2.8版本新增的資料流傳輸方式控制介面,可以實現由上層應用來控制客戶端是p2p網路傳輸,還是伺服器**模式,以滿足上層應用的特殊應用需求。

可以動態進行連線方式更改,向上層返回p2p連線狀態(參考:p2p連線狀態變化訊息),並且可由上層查詢與指定使用者的p2p連線狀態(參考:brac_queryuserstate)。

如果需要禁示本地使用者的p2p(不主動與其它使用者建立p2p連線,也不接收其它使用者的p2p連線請求),典型的示例**如下:

1.// 將p2p策略設定為禁止模式

2.dworddwp2ppolitic = 0;

3.brac_setsdkoption(brac_so_netwok_p2ppolitic,(constchar*)&dwp2ppolitic,sizeof(dword));

禁止本地使用者的p2p連線之後,所有資料均由伺服器**。

sdk預設的p2p連線模式是「伺服器控制模式」(該模式下優先p2p資料傳輸,p2p不通時走伺服器**),如要恢復為預設的p2p連線模式,典型的示例**如下:

1.// 將p2p策略設定為伺服器控制模式

2.dworddwp2ppolitic = 1;

3.brac_setsdkoption(brac_so_netwok_p2ppolitic,(constchar*)&dwp2ppolitic,sizeof(dword));

關於p2p連線策略更詳細的資訊可參考:如何設定anychat的p2p連線策略

用Visual C 實現P2P應用程式

一 前言 p2p,即英文peer to peer的縮寫,中譯為對等互聯或點對點技術。講到p2p,人們就會想起napster,napster讓人們認識到了p2p技術的威力,p2p技術也就通過napster進入了大多數使用者的視野,napster的 檔案交換功能是p2p的乙個主要應用。p2p技術可以讓使...

用Visual C 實現P2P應用程式

一 前言 p2p,即英文peer to peer的縮寫,中譯為對等互聯或點對點技術。講到p2p,人們就會想起napster,napster讓人們認識到了p2p技術的威力,p2p技術也就通過napster進入了大多數使用者的視野,napster的 檔案交換功能是p2p的乙個主要應用。p2p技術可以讓使...

用Visual C 實現P2P應用程式

一 前言 1 listener類 listener類是用來監聽新的連線。當它的乙個物件被建立並開啟後,該物件就開始不斷監聽來自網路中的連線請求。一旦有了乙個連線請求,該物件就設法建立連線並取得它的位元組流進而轉化成字串顯示在控制台中。當乙個連線結束後,該物件就繼續進行監聽來自網路中的連線請求。以及注...