現(xiàn)在想用workerman來做服務端,但是workerman好像進程數(shù)量是配置固定的
想和erlang一樣,一個玩家一個進程
如果是Gateway::sendToGroup 去當作一個廣播功能。如果有3000個玩家在線,foreach ($group_array as $group) 這樣的模式 會不會第一個玩家和第二個玩家 客戶端,收到消息的時候,時間相差超過50ms?;蛘吒嗤婕以诰€ 這個延遲會不會更大
這是walkor大佬的回答
http://wtbis.cn/q/5560
http://wtbis.cn/q/778
2萬在線服務端可以保證同時發(fā)出去,但是客戶端是否同時收到看具體網(wǎng)絡環(huán)境。如果客戶端網(wǎng)絡不好或者服務器帶寬不夠可能會延遲。
看帶寬,結合消息體積和客戶端數(shù)量自行評估。
雖然文檔描述是同時發(fā)送消息,但是網(wǎng)卡發(fā)送數(shù)據(jù)包微觀上還是串行的,不過只要帶寬大.發(fā)送得夠快也可以認為是并行,即“同時”。
再說PHP GC一次都得500ms了,想要保證50ms還是建議換語言,用C++ Rust,最次也得.NET C#這種