Go 語言編寫輕量級網路庫,GrapeNet

koangel發表於2017-08-20

簡介(Introduction)

Go語言編寫輕量級網路庫 (grapeNet is a lightweight and Easy Use Network Framework)

可用於遊戲服務端、強網路伺服器端或其他類似應用場景,每個模組單獨提取並且擁有獨立的使用方法,內部耦合性較輕。

其實GO語言曾經有過很多強架構的框架,比如GOWOLRD之類的,已經足夠了,但是我會將庫用於各種輕量級應用不需要過於複雜的內容,所以我設計了GrapeNet,目的是模組獨立化。 你可以拆開只使用其中很小的模組,也可以組合成一個服務端,並且在架構中設計也較為輕鬆,至於熱更新的問題,目前指令碼資料支援熱更新,並且是自動的,只要跑一下UPDATE即可,程式本身稍後測試後釋出(僅支援LINUX)。

本庫更像是一個日常服務端開發的輕量級工具庫集合,用的開心噢。

慢慢更新中,很多坑要填,目前暫不適合用於商業專案。

個人部落格:http://grapec.me/

安裝

go get -u github.com/koangel/grapeNet...

模組表(Function)

  • Lua指令碼繫結管理(可繫結任何型別的函式、執行緒安全且自動推倒型別)
  • 日誌庫(底層採用Seelog)
  • 函式管理系統(可以根據任何型別引數將其與函式繫結並互相呼叫)
  • 流處理
  • Tcp網路
  • Websocket網路 (基礎版)
  • Codec(任意型別註冊物件並在其他位置動態建立該物件)
  • CSV序列化模組(通過Tag可以直接序列化到物件或物件序列化為CSV)

依賴第三方

  • Seelog (github.com/cihub/seelog)
  • Gopher-lua(github.com/yuin/gopher-lua)
  • Gopher-luar(layeh.com/gopher-luar)

不依賴任何CGO內容,lua本身也是純GO實現。

相關文章