精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個開源的服務器框架,特別適用于開發小游戲

開發 前端
一個跨平臺的c++<->lua服務器快速解決方案,該框架即可快速響應服務器開發工作,設計思想:“讓事情變得更簡單”

 [[385982]]

jwEngine

一個跨平臺的c++<->lua服務器快速解決方案,該框架即可快速響應服務器開發工作,設計思想:“讓事情變得更簡單”

網絡底層采用libuv(node.js底層庫),異步io助力使單線程也能釋放澎湃動力,跨平臺支持epoll、iocp、ipv6。框架支持tcp、udp/kcp、websocket、http,并保證了接口的一致性,使用了sol2將所有接口都導出到lua,可以選擇用lua開發邏輯。

使用modern c++開發,盡可能的使用std::move、std::string_view減少內存復制。

該框架使用異步事件,不建議使用多線程,避免多線程上下文切換開銷和破壞代碼美感,網絡部分和邏輯部分使用一個主事件循環驅動。建議的方案是多進程單線程的橫向擴展,按照業務控制各個進程的粒度,當然mysql和redis可以加入到線程池中。

創建一個tcp服務器

只需要簡單幾行代碼即可創建一個tcp高性能服務器,并自動處理數據包頭和粘包(其中包頭包含消息長度和協議號),構建一個完好的NetPacket交給你。

  1. class INetEvent : public NetEvent 
  2. public
  3.   virtual void onAccept(NetConnect * conn){} 
  4.   virtual void onClose(NetConnect * conn){} 
  5.   virtual void onMsg(NetConnect * conn, int msgtype, NetPacket * pack){} 
  6. }; 
  7.  
  8. int main() 
  9.   EventLoop::Instance()->init(); 
  10.  
  11.   INetEvent eve; 
  12.   NetServer server(EventLoop::Instance(), &eve); 
  13.   server.listen("127.0.0.1"3001); 
  14.  
  15.   return EventLoop::Instance()->run(); 

創建一個kcp服務器

c++的kcp服務器示例,快速構建你的幀同步服務器,保證消息的可靠性

  1. class KNetEvent : public KcpEvent 
  2. public
  3.   virtual void onAccept(KcpSession * conn){}; 
  4.   virtual void onClose(KcpSession * conn){}; 
  5.   virtual void onMsg(KcpSession * conn, int msgtype, UdpPacket * pack){} 
  6.   virtual void onUdpTimeout(KcpSession * s){} 
  7. }; 
  8.  
  9. int main() 
  10.   EventLoop::Instance()->init(); 
  11.  
  12.   KNetEvent eve; 
  13.   KcpServer server(EventLoop::Instance(), &eve); 
  14.   server.start("127.0.0.1"3001); 
  15.  
  16.   return EventLoop::Instance()->run(); 

創建一個websocket服務器

自動完成解析websocket協議工作

  1. class IWebEvent : public WebSocketEvent 
  2. public
  3.   virtual void onHandshake(WebSocketConnect * conn){}; 
  4.   virtual void onAccept(WebSocketConnect * conn){}; 
  5.   virtual void onClose(WebSocketConnect * conn){}; 
  6.   virtual void onMsg(WebSocketConnect * conn, WebSocketPacket * pack){}; 
  7. }; 
  8.  
  9. int main() 
  10.   EventLoop::Instance()->init(); 
  11.  
  12.   IWebEvent wevent; 
  13.   WebSocketServer server(EventLoop::Instance(), &wevent); 
  14.   server.listen("127.0.0.1"8080); 
  15.  
  16.   return EventLoop::Instance()->run(); 

創建一個http服務器

http僅支持簡單的get post請求

  1. const char * html = R"(<html> 
  2. <body> 
  3. <h1>login</h1> 
  4. <p>hello world!</p> 
  5.   <form action="login" method="post"
  6.     <input type="text" name="user"/> 
  7.     <input type="password" name="pass"/> 
  8.     <input type="submit" value="login"/> 
  9.   </form> 
  10. </body> 
  11. </html>)"; 
  12.    
  13. const char * succeed = "" 
  14. "<html>" 
  15. "<body>" 
  16. "<h1>login succeed</h1>" 
  17. "</body>" 
  18. "</html>"
  19.  
  20. const char * failing = "" 
  21. "<html>" 
  22. "<body>" 
  23. "<h1>login failing</h1>" 
  24. "</body>" 
  25. "</html>"
  26.  
  27. int main() 
  28.   EventLoop::Instance()->init(); 
  29.   HttpServer server(EventLoop::Instance()); 
  30.   server.listen("127.0.0.1"80); 
  31.  
  32.   server.addGet("/", [](HttpConnect *conn, std::string_view & data) { 
  33.     conn->autoMsg(html); 
  34.   }); 
  35.  
  36.   server.addPost("/login", [](HttpConnect *conn, std::string_view & data) { 
  37.     HttpParam hp(data); 
  38.     if (hp.getStr("user") == "jw" && hp.getStr("pass") == "1111"
  39.     { 
  40.       conn->autoMsg(succeed); 
  41.     } 
  42.     else 
  43.     { 
  44.       conn->autoMsg(failing); 
  45.     } 
  46.   }); 
  47.  
  48.   return EventLoop::Instance()->run(); 

mysql和線程池

這次我們用lua示例:

  1. local config = DBConfig:new() 
  2. config.device = "mysql" 
  3. config.ip = "127.0.0.1" 
  4. config.dbname = "jw_test" 
  5. config.user = "root" 
  6. config.pswd = "1111" 
  7. config.port = 3306 
  8.  
  9. pool = DBThreadPool:new(config) 
  10. pool:create(1
  11.  
  12. func = function(err, result) 
  13.   while(result:fetch()) 
  14.   do 
  15.     local id = result:getInt32() 
  16.     local num = result:getInt32() 
  17.     local name = result:getString() 
  18.  
  19.     local str = "id:" .. id .. ", num:" .. num .. ", name:" .. name 
  20.     print(str) 
  21.   end 
  22. end 
  23.  
  24. function exec() 
  25.   local sql = SqlCommand:new("select * from test where id = ?"
  26.   sql:pushInt32(1
  27.   sql:addToPool(pool, func) 
  28. end 
  29.  
  30. event_init() 
  31. exec() 
  32. timer = UTimer:new() 
  33. timer:start(function () 
  34.     pool:update() 
  35.   end, 1010
  36. event_run() 

任意擴展進程節點

你可以任意擴展你的進程,示例:

base進程 cell進程 db進程
start engine.exe base.lua start engine.exe cell.lua start engine.exe db.lua

提供一個serialization序列化工具

類似于c++的語法,寫起來非常簡單,示例:

  1. struct testmsg 
  2.   int32 x 
  3.   int32 y 
  4.   int32 z 
  5.   int8 state 
  6.   vector<int32> vec 
  7.    
  8.   read{ 
  9.     [x, y, z, state] 
  10.     if(state == 1
  11.     { 
  12.       [vec] 
  13.     } 
  14.   } 
  15.   write{ 
  16.     [x, y, z, state, vec] 
  17.   } 

通過serialization工具可以將協議的描述文件生成c++和lua代碼,自動生成read()和write()的函數實現,使得數據結構快速映射到SocketBuffer中。

目前serialization序列化工具為實驗性,可能是脆弱的,建議使用更強大的protobuf。該項目已集成lua-protobuf,使得c++和lua之間的協議無縫銜接。

lua-protobuf的開源地址: lua-protobuf

這個示例展示了c++客戶端和lua服務器之間的通訊: 快速搭建服務器Demo

構建

你需要一個modern c++17編譯器

  • vs2017 測試通過
  • gcc version 9.3.0 測試通過

 

責任編輯:張燕妮 來源: Github
相關推薦

2025-01-02 14:56:42

開源.NET開發

2009-07-09 17:41:41

2018-07-30 13:36:13

MacO開源應用程序

2018-11-12 11:50:10

開源發票工具Web

2018-01-09 11:09:42

RESTSOAP開源

2022-02-21 20:56:12

Linux開源網頁瀏覽器

2018-06-13 09:00:00

2012-06-13 09:23:46

虛擬化

2020-05-13 09:22:51

Linux開源緩存工具

2024-10-17 10:51:33

2021-01-19 13:30:52

Linux播放器互聯網

2023-07-06 21:58:43

LinuxPDF編輯器

2013-01-24 13:26:40

服務器機房IT部署

2010-12-14 07:50:37

OracleSolaris 11

2014-04-04 17:13:13

iOSAndroid開發技巧

2022-03-21 09:25:50

Kubernetes開源DevSecOps

2023-08-09 13:46:39

2020-12-11 09:06:50

異常監控云服務

2020-10-10 09:19:58

JavaScript開發技術

2020-05-07 10:40:37

Web工具CSS
點贊
收藏

51CTO技術棧公眾號

免费成人高清视频| 日韩欧美电影一二三| 日韩一区二区三区资源| 一区二区的视频| 在线欧美不卡| 国产性色av一区二区| 九九热99视频| 成人免费网站观看| 国产欧美日韩精品一区| 91成人免费在线观看| 一级片中文字幕| 午夜久久免费观看| 日韩电影大片中文字幕| 怡红院亚洲色图| 国产污视频在线播放| 国产精品免费久久| 精品国产一区二区三区麻豆免费观看完整版 | 国产精品99re| 日韩精品一卡| 亚洲精品一区av在线播放| 国内自拍第二页| 偷拍中文亚洲欧美动漫| 亚洲一二三四久久| 黄色www在线观看| 久久经典视频| 成人精品亚洲人成在线| 成人疯狂猛交xxx| 潘金莲一级淫片aaaaaa播放| 欧美日韩影院| 精品国产欧美一区二区三区成人| 欧美丰满少妇人妻精品| 亚洲1区在线| 在线不卡的av| 激情 小说 亚洲 图片: 伦| 高清精品在线| 亚洲国产精品天堂| 韩国无码av片在线观看网站| 欧美日韩在线看片| 国产精品欧美极品| 日韩精品欧美一区二区三区| 五月婷在线视频| 成人动漫精品一区二区| 91久久夜色精品国产网站| 成人黄色片在线观看| 久久一区二区三区四区五区| 国内精品久久久久影院 日本资源| 国产三级国产精品国产国在线观看| 国产探花一区| 亚洲精品资源美女情侣酒店| 高清中文字幕mv的电影| 97se亚洲| 欧美精品一区二区不卡| 图片区偷拍区小说区| 亚洲欧美日本国产| 精品国产乱码久久久久久影片| 日本一区二区三区在线免费观看| 91成人app| 91精品国产日韩91久久久久久| 日韩欧美国产片| 精品自拍视频| 欧美一区二区三区在线| 天天操夜夜操很很操| 国产精品亚洲一区二区在线观看 | 国产精品免费成人| 日本在线中文字幕一区二区三区| 欧美亚洲图片小说| 向日葵污视频在线观看| 亚洲爽爆av| 日韩欧美一区中文| 人体私拍套图hdxxxx| 欧美爱爱网站| 一区二区三区视频观看| 国产成人精品视频免费| 91精品久久久久久久久久不卡| 欧美成人自拍视频| 国产午夜精品一区二区理论影院| 99热在线精品观看| 国产精品xxx视频| 亚洲图片小说视频| 国产成a人无v码亚洲福利| 精品免费日产一区一区三区免费| 欧洲综合视频| 成人免费小视频| 男女视频网站在线观看| 原纱央莉成人av片| 欧美久久久久久蜜桃| 少妇精品无码一区二区| 中文字幕亚洲影视| 成人444kkkk在线观看| 精品91久久久| 激情综合五月婷婷| 国产欧美日韩一区二区三区| 国产在线高清| 亚洲国产精品欧美一二99| 干日本少妇首页| 国产精选久久| 亚洲欧美在线x视频| 日韩精品久久久久久久的张开腿让| 亚洲综合婷婷| 国产精品都在这里| 丰满大乳国产精品| 国产精品视频麻豆| 男人用嘴添女人下身免费视频| 日本美女久久| 亚洲精品电影久久久| 五月天婷婷丁香网| 国产精品嫩草99av在线| 91久久精品国产91久久| 91精品国产aⅴ一区二区| 大地资源二中文在线影视观看| 99热精品久久| 国产成人欧美在线观看| 亚洲黄色小说网| 国产精品伦理在线| 日本免费一级视频| 永久免费精品视频| 久久久av电影| 久久精品视频2| 成人av午夜电影| 欧美aaa在线观看| 制服诱惑亚洲| 亚洲精品电影久久久| 五月婷婷综合激情网| 久久www成人_看片免费不卡| 97伦理在线四区| 国产一二三区在线观看| 欧美亚洲国产一区在线观看网站| 亚洲精品乱码久久久久久蜜桃图片| 欧美xxav| 国产欧美日韩专区发布| 天堂网www中文在线| 亚洲午夜电影在线| 天天爽夜夜爽视频| 一区二区国产在线| 成人精品一区二区三区电影免费| 美国一级片在线免费观看视频| 亚洲最新在线观看| 在线观看视频在线观看| 999久久久91| 国产精品一区二区性色av| 国产视频精品久久| 色欧美88888久久久久久影院| 超碰caoprom| 黄色日韩精品| 国产精品美女黄网| 丁香花电影在线观看完整版| 日韩欧美电影一二三| 麻豆疯狂做受xxxx高潮视频| 激情综合亚洲精品| 少妇一晚三次一区二区三区| 日韩激情欧美| 欧美日韩福利电影| 蜜桃视频在线观看www| 一区二区成人在线| 国产a√精品区二区三区四区| 午夜久久tv| 国产欧美日韩一区二区三区| 成人ssswww在线播放| 日韩大片免费观看视频播放| 国产精品999在线观看| 久久亚洲捆绑美女| 九热视频在线观看| 999久久久91| 成人免费视频观看视频| 蜜桃视频在线观看免费视频| 日韩成人在线视频观看| 日韩黄色一级视频| 国产精品第一页第二页第三页| 最新免费av网址| 午夜精品免费| 久久精品一区二区三区不卡免费视频| 综合毛片免费视频| 一区二区三区视频在线| 91禁在线观看| 亚洲韩国精品一区| 国产女主播喷水高潮网红在线| 日韩精品一二三区| 日本高清xxxx| 蜜桃一区av| 国产精品日韩欧美综合| av片在线观看永久免费| 亚洲国产高清高潮精品美女| 一级片中文字幕| 国产精品久久久久久妇女6080| 午夜大片在线观看| 先锋亚洲精品| 欧美日韩视频免费在线观看| 综合视频一区| 国产精品国产自产拍高清av水多| caopon在线免费视频| 亚洲成人精品av| 中文字幕免费观看视频| 亚洲影院理伦片| 久久婷婷五月综合| 国产盗摄精品一区二区三区在线| 中国丰满人妻videoshd| 国产精品99在线观看| 精品无人区一区二区三区| 国产成人免费| 91国内免费在线视频| 最新av网站在线观看| 亚洲大胆人体av| 亚洲天堂网视频| 日韩欧美黄色动漫| 免费在线视频观看| 国产精品传媒在线| 国产传媒第一页| 丁香天五香天堂综合| 无限资源日本好片| 一区二区三区四区五区在线| 中日韩在线视频| 成人动漫免费在线观看| 精品日本一区二区三区| 久久的色偷偷| 91精品免费看| 日韩色淫视频| 欧美中文字幕视频| 51精品在线| 欧美日本亚洲视频| 毛片在线视频| 中文字幕日韩av| 毛片在线能看| 日韩毛片在线观看| 午夜美女福利视频| 欧美二区乱c少妇| 中文字幕人妻一区二区三区视频| 黑人与娇小精品av专区| 激情五月婷婷小说| 亚洲视频狠狠干| 91免费在线看片| 中文字幕免费一区| 韩国三级hd中文字幕| 99re这里都是精品| 怡红院一区二区| www.日韩av| 日韩综合第一页| 成人三级在线视频| 亚洲香蕉中文网| 成人看片黄a免费看在线| 992kp免费看片| 激情综合色综合久久综合| 最近中文字幕一区二区| 日本成人中文字幕在线视频| 国产日韩一区二区在线观看| 日韩午夜在线电影| 欧美日韩成人免费视频| 国产精品久久久久9999高清| 黄色片网址在线观看| 亚洲精品偷拍| 国产成人无码精品久久久性色| 亚洲免费黄色| 免费看国产曰批40分钟| 国产欧美短视频| 久久网站免费视频| 玖玖玖国产精品| www.99在线| 久久99精品视频| 中文 日韩 欧美| 国产ts人妖一区二区| 日韩无码精品一区二区| 99re这里都是精品| 色综合99久久久无码国产精品| 国产欧美精品一区二区色综合| 国产一级久久久久毛片精品| 亚洲国产精品t66y| 九九这里只有精品视频| 亚洲一区二区三区四区五区中文 | 中日韩男男gay无套| 国产在线青青草| 免费成人你懂的| 九九热视频免费| 不卡的电视剧免费网站有什么| 韩国无码一区二区三区精品| 国产网红主播福利一区二区| 激情无码人妻又粗又大| 樱桃视频在线观看一区| 亚洲国产精一区二区三区性色| 岛国av在线不卡| 一区二区视频网站| 日韩三级精品电影久久久| 天天干天天干天天干| 亚洲欧美中文日韩v在线观看| 在线免费看黄| 久久久久久成人精品| 国产另类xxxxhd高清| 91欧美视频网站| 亚洲免费观看高清完整版在线观| 日本一区二区三区四区在线观看| 天天久久综合| www.av片| 精品一区二区三区日韩| 国产大学生视频| 国产精品成人免费精品自在线观看| 久久久全国免费视频| 91国在线观看| 亚洲AV无码一区二区三区少妇| 亚洲免费视频观看| 在线观看电影av| 国产成人中文字幕| 风间由美性色一区二区三区四区| 日韩电影在线播放| 亚洲高清av| 亚洲免费黄色录像| 91丨porny丨最新| 日本一级二级视频| 欧美性高清videossexo| 天堂在线观看视频| 欧美成年人视频网站| 成人在线爆射| 国产手机精品在线| 亚洲午夜精品一区 二区 三区| www.日日操| 91一区在线观看| 久草视频免费在线播放| 欧美人xxxx| 国产毛片在线看| 欧美一区二区.| 久久99偷拍| 免费高清一区二区三区| 精品一区二区av| 亚洲色图欧美色| 欧美综合一区二区| 欧美套图亚洲一区| 欧美性做爰毛片| 狠狠久久伊人| 日韩成人手机在线| 国产福利一区二区三区在线视频| 一区二区三区在线播放视频| 色综合久久中文综合久久97| 俄罗斯嫩小性bbwbbw| 欧美黑人视频一区| 视频一区日韩| 成人高清dvd| 国产精品一区2区| 午夜精品一区二区三区视频| 欧美日本在线观看| 一区二区高清不卡| 国产精品久久久久久久久久小说| 亚洲动漫精品| 999精品网站| 国产婷婷色一区二区三区四区 | 国产精品视区| av网站免费在线播放| 黑人欧美xxxx| 国产三区四区在线观看| 国产精品国产三级国产aⅴ浪潮| 国产成人影院| 久久久久国产一区| 中文字幕亚洲电影| 国产强伦人妻毛片| 久久国产精品久久久久| 视频二区欧美毛片免费观看| 亚洲国产一二三精品无码| 国产福利一区二区三区视频在线 | 日韩一区二区电影| 性欧美videoshd高清| 99影视tv| 国产日韩一区二区三区在线| av小说在线观看| 欧美性受xxxx| 国内外激情在线| 国产精品加勒比| 国产九九精品| 欧美激情 一区| 欧美一区二区三区视频免费 | 99精品视频精品精品视频| 欧美一级免费在线| 亚洲成a人v欧美综合天堂 | 日韩精品亚洲专区在线观看| 国产乱人伦精品一区二区三区| 不卡的av网站| 国模私拍一区二区| 欧美成人剧情片在线观看| 97成人在线| 日本在线视频www| 亚洲人成在线观看一区二区| 懂色av蜜臀av粉嫩av分享吧| 日本精品在线视频| 五月开心六月丁香综合色啪| 国产一精品一aⅴ一免费| 色综合天天综合色综合av | 国产精品亚洲片在线播放| 视频二区在线播放| 亚洲国产cao| 91在线网址| 国产原创精品| 美女视频一区二区| 日本午夜精品理论片a级app发布| 国产一区二区三区视频在线观看| 精品成人18| 色诱视频在线观看| 亚洲精品水蜜桃| 美女做暖暖视频免费在线观看全部网址91| 成人网在线观看| 亚洲影院一区| 久操视频免费在线观看| 在线精品国产欧美| 另类春色校园亚洲| 九九热视频免费| 欧美午夜精品电影|