我正在編寫基於服務器的客戶端聊天。服務器是中央組件,可處理所有傳入消息和傳出消息。客戶是聊天用戶。他們在框架中看到聊天,並且還可以編寫聊天消息。這些消息被髮送到服務器。服務器依次更新所有客戶端。同步:客戶端,服務器聊天
我的問題是客戶端的同步。由於服務器是多線程的,所以這兩個消息都可以從客戶端接收,並且更新(以消息的形式)也必須發送出去。由於每個客戶端都在自己的線程中更新,因此不保證所有客戶端都會收到相同的消息。我們有一個同步問題。
我該如何解決?
我搞砸了時間戳和緩衝區。但這不是一個好的解決方案,因爲不能保證在分配時間戳之後,消息將立即放入緩衝區。
我會補充一點,我不知道客戶。也就是說,我在服務器上的每個線程中只有一個打開的連接。我沒有一組客戶或類似的東西來跟蹤所有的客戶。