怎么用TCP實作將服務器產生的資料實時的傳送給在同一個局域網內的其它客戶端啊?用多執行緒或執行緒池嗎?服務器還要在主程式里實時產生新的資料,就是一邊產生新資料一邊把資料傳給多個客戶端。求大神給思路。
uj5u.com熱心網友回復:
看了你的問題,用多執行緒或者執行緒池不是你實作該功能的關鍵,服務器這端一邊產生資料一邊將資料發送下去,應該是典型的生產者消費者模式,所以問題就轉移到這個模式上了,可到網上找一些該模式的處理方案,有很多,總有一款適合你。uj5u.com熱心網友回復:
看自己選擇吧uj5u.com熱心網友回復:
互斥 可以通過信號量來完成uj5u.com熱心網友回復:
1.如果從效率來考慮的話,這種情況不建議開執行緒,可以直接在主程式中將產生的資料發送給對應的客戶端,這樣實時性也要好一些。2.可以這么考慮,服務器啟動之后,監聽某個埠,客戶端連接上來之后,服務器產生了資料,就直接呼叫sendto發送給客戶端。
這么做,無論是效率還是實時性都較好。
uj5u.com熱心網友回復:
你好,請問一下,如果不知道局域網之間電腦相互的IP怎么進行監聽?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142708.html
標籤:網絡通信
上一篇:立體影像編碼解碼
