我不確定在哪裏以及如何開始,但我有幾個關於服務器和客戶端如何彼此協作的問題。我對Java和任何編程都很陌生,所以我非常無知。這些問題是關於多人遊戲,如Minecraft,WoW等。服務器/客戶端操作如何工作?
所以讓我開始吧。
我想知道的第一件事是,交互如何起作用?我讀過關於這個的文檔,它告訴我使用Socket,然後使用PrintWriter和BufferedReader進行輸入和輸出。如果有人足夠聰明地反編譯客戶端,然後編輯發送的數據以改變位置值,並且當服務器接收到數據時,它會將播放器重新定位到他們的任何位置設置他們的新位置。我怎樣才能防止這一點?
服務器/客戶端交互的真實/最佳方式是什麼?我是否使用Socket併爲其寫入東西以供客戶端接收,或者我應該使用DatagramSocket和DatagramPacket?還是有另一種方式?
我想從客戶端分離的服務器,就像幾乎所有其他多人遊戲:你有啓動服務器上的文件,則客戶端可以連接到。
在此先感謝,我很想知道這個概念。
感謝您提供豐富的答案。我會繼續看網絡教程和whatnot。 – user2975166