1.server間socket的傳送和接收快取要足夠大,以防在客戶端併發操作時訊息堆積導致的溢位
2.server端在最有可能大併發量的accept和disconnect操作上做排隊處理,防止此種情況下導致server壓力突增
3.server上對每個客戶端做訊息傳送頻率的限制,以防惡意攻擊
4.維持accept在一定的數量,防止出現accept越來越少,這樣會導致後面的client無法接入
5.在socket上設定keepalive屬性,這樣可以保證server間斷開連線後可以檢測到並且實施重連
6.在邏輯層做心跳檢查,一般2-3個心跳沒有收到就認為已經斷線
7.一般在乙個update的執行過程中,將需要檢查的client列表拷貝出來,不要阻塞主邏輯
通用網遊伺服器
通用網遊伺服器是適用於一類網遊的伺服器,如rpg網遊伺服器.通用伺服器提供的是適用於該類網遊的機制,與內容無關.特定於某乙個遊戲的內容由指令碼和配置檔案實現.目前在指令碼機制不完善的情況下,可以把特定的遊戲內容分離到動態鏈結庫中,實現機制與內容分開.這個通用的網遊伺服器還可以分成兩個部分 1.核心,...
通用網遊伺服器
通用網遊伺服器是適用於一類網遊的伺服器,如rpg網遊伺服器.通用伺服器提供的是適用於該類網遊的機制,與內容無關.特定於某乙個遊戲的內容由指令碼和配置檔案實現.目前在指令碼機制不完善的情況下,可以把特定的遊戲內容分離到動態鏈結庫中,實現機制與內容分開.這個通用的網遊伺服器還可以分成兩個部分 1.核心,...
erlang 網遊伺服器端socket設計問題
準備用erlang做網遊的伺服器端,遇到乙個通訊層設計的問題 erlang socket大多都是使用的被動模式,防止message flood問題 系統中會存在兩種訊息,一種是客戶端和伺服器的互動資訊,就是簡單的request response模式,另外一種是系統遊戲過程中產生的廣播訊息 如果採用e...