一種MMO伺服器框架
以下是一種單程序多執行緒的伺服器框架,LoginServer是一個登陸執行緒,處理使用者登陸和角色獲取。登陸成功後會連線ChatServer和LogicServer,聊天伺服器執行緒處理所有聊天資訊的轉發,邏輯伺服器執行緒處理指令碼執行,日誌、戰鬥以及其他相關邏輯,邏輯伺服器執行緒可以多開,可以將使用者平衡到各個邏輯Server。所有的ServerProcess都會連線到一個管理伺服器上,以方便管理員對伺服器進行管理。
為什麼不設計成多程序的?原因如下:1、多程序設計更復雜,要考慮更多通訊細節。2、現在的伺服器配置都非常高,完全可以將整個伺服器配置到一臺物理機上,甚至還可以在一臺物理機器上開多個服。3、執行緒切換比程序切換要快。
玩家上線邏輯:首先連線登陸伺服器進行帳號驗證,驗證成功之後獲得一個UID【這個UID可以是基於使用者名稱和密碼生成的,再加入一些隨機性,使得每次登陸都可以不一樣】,拿著這個UID去獲得該服中的角色,當然也可以建立角色,選完角色之後,繼續用該UID去連線聊天伺服器和邏輯伺服器,上線完成。使用者下線後該UID自動失效。
相關推薦
一種MMO伺服器框架
以下是一種單程序多執行緒的伺服器框架,LoginServer是一個登陸執行緒,處理使用者登陸和角色獲取。登陸成功後會連線ChatServer和LogicServer,聊天伺服器執行緒處理所有聊天資訊的轉發,邏輯伺服器執行緒處理指令碼執行,日誌、戰鬥以及其他相關邏輯,邏輯伺服器執行緒可以多開,可以將使
linux裡的select函式和一種併發伺服器的實現
select函式 函式原型: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *t
一種在ssm框架下時間互動的簡單解決方案
總結基於ssm框架下的統一快速處理時間的簡單方案。 1 約定與頁面互動格式 後臺程式為前端頁面提供介面,統一使用時間字串互動:包含兩種字串格式:"yyyy-MM-dd HH:mm:ss"和"yyy
Java改變異常輸出的一種形式,封裝框架的時候覺得有用,自定義異常輸出的一種思路
Java的異常輸出,有時輸出一大堆內容,針對異常的輸出格式,目前有像Log4J等框框,通過在類路徑下配置一個log4j.properties,新增相關的jar包即可。 以下是在看開源框架GUNS裡的工具類原始碼時所啟發,其實我們也可以自己定義自己的輸出格式,以
JETTY,RESIN,TOMCAT的差別在哪裡,在線上服務應該選擇哪一種WEB伺服器?
1.背景介紹 Tomcat伺服器 TomcatTomcat是一個實現了JAVA EE標準的最小的WEB伺服器,是Apache 軟體基金會的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。因為Tomcat 技術先進、效能穩定
快速構建MMO伺服器框架(七)高併發TCP網路框架
忙活了一個多星期,差不多把基於TCP的高併發連線網路架構測試穩定了。 目的:利用多執行緒把網路連線及資料包壓縮/解壓、加密/解密等等耗時的操作分流(asio對這些沒有原生的支援),順帶提供執行緒池框架。只對遊戲邏輯層暴露出單執行緒的外觀,隔離底層多執行緒的複雜度。 結構如下圖
【python+selenium搭建自動化框架】框架設計中的一種設計思想--POM
例如 了解 思想 對象 業務 class a 如果 對象模型 模型 POM,中文:頁面對象模型,POM是近幾年非常流行的自動化測試模型,或者思想,POM不是框架,是解決問題的一種思想。 采用POM目的:為了解決前端中UI變化頻繁,從而造成測試自動化腳本維護的成本越來越大 P
一種用迴歸神經網路學習說話人嵌入的無監督神經網路預測框架
An Unsupervised Neural Prediction Framework for Learning Speaker Embeddings using Recurrent Neural Networks 一種用迴歸神經網路學習說話人嵌入的無監督神經網路預測框架 摘要 本文提出
遠端連線連不上伺服器一種解決方法
允許123的使用者使用密碼123來進行遠端登入 GRANT ALL PRIVILEGES ON *.* TO '123'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; 允許123的使用者在ip為192.168.0.1的主機上使用密碼123來
Galera Cluster :一種新型的高一致性MySql叢集框架
Galera Cluster是Codership公司開發的一套免費開源的高可用方案,官網為http://galeracluster.com。Galera Cluster即為安裝了Galera的Mariadb叢集(本文只介紹Mariadb Garela叢集)。其本身具有multi-master特性,支
用於微控制器程式設計的一種簡單的主函式框架
常見的微控制器最小系統(最小外圍電路)中,會帶有微控制器、晶振、LDO、按鍵、LED指示燈。假如是使用STM32,現在通常會配合STM32CubeMX,快速生成初始化程式碼和工程專案檔案。在生成了一套工程專案後,需要在檔案的特定位置加上使用者程式碼。 我對作業系統程式設計不
OCTMAP:一種基於八叉樹的高效概率三維對映框架
摘要 三維模型提供了空間的體積表示,這對於包括飛行機器人和裝有機械手的機器人在內的各種機器人應用非常重要。在本文中,我們提出了一個開源框架來生成體積3D環境模型。我們的對映方法基於八叉樹,使用概率佔用估計。它明確地表示不僅佔用的空間,而且自由和未知的區域。此外,我們提出一種八叉樹地圖壓縮方法,以保持
FINN(一)簡介一種快速,可擴充套件的二值化神經網路框架
摘要: 研究表明,卷積神經網路具有明顯的冗餘,即使權重和啟用從浮點減少到二進位制值,也可以獲得高分類精度。在本文中,我們介紹了FINN,一個使用靈活的異構流體系結構構建快速和靈活的FPGA加速器的框架。通過利用一組新的優化功能,可以實現二值化神經網路到硬體的高效
一種實時映象的伺服器資料線上備份方法與流程
www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同
[投稿]一年工作總結 (單程序網遊伺服器框架介紹)
工作已經滿一年了。。。記得還是去年十月多的時候來廣州找工作的,找了大概一個星期左右,然後找到這家公司後就一直待到現在。今年畢業的時候回了趟學校,到現在工作時間大概有一年了。第一個手遊專案已經上線有一段時間了,還不知道盈利情況怎麼樣,又開始了一個新的卡牌遊戲。工作一直挺充實的,第一個專案的從零開始我就加入了專案
一種經典的網路遊戲伺服器架構
@飯中淹 多謝樓主解答,不過還是有一些疑問,我說一下自己對這個架構的理解。 從使用者登入開始,使用者登入連線閘道器,發資料到loginserver校驗賬戶密碼,如果areaDB中沒有賬戶資訊,向資料中心要賬戶密碼,插入areaDB,以後校驗賬戶就可以直接在區域DB中做了,如果賬戶密碼
Android嚮導框架(Wizard framework)的一種實現(需要原始碼的同學請留言)
做介面開發的兄弟姐妹都知道嚮導框架一般GUI庫都有提供,而android的介面庫中,卻沒有嚮導框架這個東東。 不要驚訝,你要是不相信的話可以到谷歌查詢,我在stackoverflow看到一些提問:如何實現嚮導式的互動,在android中:how to implement a wizard like
叢集伺服器Session同步及一種基於Memcached的session同步
1 Session的叢集管理 事實上,網站總是有狀態的。每一個登入資訊、使用者資訊常常被儲存在session內部。而當一個網站被部署在不止一臺伺服器的時候,就會遇到session同步的問題。事實上即使
Android多執行緒操作sqlite資料庫連線池框架的一種設計思路
我們在Android應用程式開發當中經常會用到資料庫,一般在有兩種主要開發思路。 第一種:每次需要對資料庫操作的時候建立連線,操作完成後,馬上關閉連線。 這個方式一般用於不怎麼頻繁操作資料庫的情況,用完後馬上關閉達到節省系統資源的目的。 第二種:應用程式一
workman php開源伺服器框架初學(一)
最近在做遠端開關,被裝置與伺服器的通訊搞得焦頭爛額,在找了很多資料後看到了workman 這個開源框架 於是就進去看了看 感覺還不錯 其中的gatewayWorker正好是我可以用到的。 文件地址http://www