6
我最近開發了一款在線多人遊戲,效果很好。有一箇中央服務器處理與客戶端的TCP連接,並且它們都接收和發送數據。
有沒有一種方法來驗證發送的數據在接收器讀取之前沒有被修改?
TCP連接以某種方式處理它嗎?如果不是什麼是最好的方式(不要求代碼)來實現它?
到現在爲止,我想出了這些想法:如何驗證客戶端 - 服務器連接之間的數據完整性?
- 修改發送加入某種驗證值的數據,這樣的數據包長度。
- 收到數據包後,請求服務器再次發送並驗證它們是否相等。
我搜索了一個常用的解決方案,但找不到多少。
加密應該是我最後的選擇。
編輯
一個簡單的方法來實現這一目標:
由黑客修改或由噪聲/錯誤? TCP/IP確實照顧後者,而不是前者。 –
你介意簡單地解釋它是如何發生的嗎? – mastaH
散列數據,並將散列值添加到您發出的數據。另一端的人應該檢查哈希是否與他們收到的數據匹配。這應該注意噪音錯誤。 – eboix