1. 程式人生 > >使用go語言開發的一個非同步伺服器

使用go語言開發的一個非同步伺服器

大約是2016年7月,我開始學習go語言開發。

目標是開發自己的伺服器,從哪裡入手呢?

想找一個伺服器程式碼來學習如何使用go語言寫伺服器,畢竟我是搞後臺的。但是我搜索了一番,沒有找到一個像樣的,比較多的資料是go 語言的web程式設計,當然了,有幾本這樣的書了。有的都是些東拼西湊的東西,根本跑不起來。

看了一些大牛錄製的go語言視訊,算是快速入門。把go語言拿來學習了2周,看了一些其他人的程式碼,

學得差不多了,就動手搞吧。

我之前的經歷對於c++的高效能非同步框架非常的熱衷,所以決定使用go語言實現一個非同步的基於socket的後臺svr框架。

寫了大概2個月,最終通過幾次改版,形成了可以使用的socket的框架。自己編寫了幾個實際的伺服器,執行效果不錯。

今天把他弄到了github上,大家可以拍磚

此伺服器程式碼有幾大特點:

1. 程式碼自動生成,增加協議,只需要實現協議的handle

2. 採用反射的機制,只需要註冊命令號與處理此命令號的handler。開發快速,簡單可靠

3. 引入自動化測試例子

我後面還加入了grpc框架的版本。後面有時間整理一下,也放上來。