在sgame\client目錄下提供了乙個game_cli.go,提供了簡單的功能,包括註冊、登陸和登出
首先進入client目錄,然後編譯之:go build game_cli.go; ./game_cli
./game_cli -h
-a string
server ip (default "127.0.0.1")
-c string
cmd-h show help
-k int
keepalive seconds if method=2
-m int
method 1:interace 2:command
-p int
server port
-q quiet
----cmd----
[ping] ping to server
[login] login [logout] logout
[reg] register
下面的情況均工作於互動式模式下
./game_cli -p 18909 -m 1
please input:>>ping
ping...
send cmd:ping success!
ping:8 ms crr_ts:1596545728717835 req:1596545728708842
please input:>>ping
ping...
send cmd:ping success!
ping:8 ms crr_ts:1596545733069217 req:1596545733060415
//不帶引數
please input:>>reg
----cmd----
[ping] ping to server
[login] login [logout] logout
[reg] register //註冊成功
please input:>>reg suomei suomei123 1 sz
reg... name:suomei pass:suomei123 ***:1 addr:sz
send cmd:reg suomei suomei123 1 sz success!
reg result:0 name:suomei
//重複註冊
please input:>>reg suomei suomei123 1 sz
reg... name:suomei pass:suomei123 ***:1 addr:sz
send cmd:reg suomei suomei123 1 sz success!
reg result:1 name:suomei
please input:>>
上面演示了不帶引數,註冊成功和重複註冊的情況。這裡以name為key,需要保持唯一性
//密碼錯誤
please input:>>login suomei 1999
login...name:suomei pass:1999
send cmd:login suomei 1999 success!
login result:2 name:suomei
//使用者名稱錯誤
please input:>>login suoxxmei 1999
login...name:suoxxmei pass:1999
send cmd:login suoxxmei 1999 success!
login result:2 name:suoxxmei
//成功登陸
please input:>>login suomei suomei123
login...name:suomei pass:suomei123
send cmd:login suomei suomei123 success!
login result:0 name:suomei
uid:10003 ***:1 addr:sz level:1 exp:100 itemcount:100
[13694488209648602] res:1096 count:10 attr:0
[13975963186359258] res:1098 count:10 attr:0
[1450326722735066] res:1009 count:10 attr:0
...
上面演示了登陸的幾種情況,最後登陸成功並列印了倉庫。在角色初始登陸時候會給倉庫加上100個道具以便測試
...
[2435489141222362] res:1016 count:10 attr:0
[5953926350105562] res:1041 count:10 attr:0
please input:>>logout
logout...
send cmd:logout success!
logout result:0 msg:****
please input:>>
//1.首先客戶端連線conne_serv1從而在logic_serv1登陸
./game_cli -p 18909 -m 1
start client ...
please input:>>login suomei suomei123
login...name:suomei pass:suomei123
send cmd:login suomei suomei123 success!
login result:0 name:suomei
uid:10003 ***:1 addr:sz level:1 exp:100 itemcount:100
[13975963186359258] res:1098 count:10 attr:0
[6516876303526874] res:1045 count:10 attr:0
//2.新開乙個埠連線conn_serv2從而在logic_serv2登陸
./game_cli -p 18910 -m 1
start client ...
please input:>>login suomei suomei123
login...name:suomei pass:suomei123
send cmd:login suomei suomei123 success!
login result:4 name:suomei
//3.這時發現該客戶端返回4,同時前乙個登陸已經被踢下線鳥:
...[11020475930897370] res:1077 count:10 attr:0
[4124339001486298] res:1028 count:10 attr:0
please input:>>logout result:2 msg:login-other
read failed! err:eof
//4.返回新客戶端重新登陸成功:
...login result:4 name:suomei
please input:>>login suomei suomei123
login...name:suomei pass:suomei123
send cmd:login suomei suomei123 success!
login result:0 name:suomei
uid:10003 ***:1 addr:sz level:1 exp:100 itemcount:100
[3279914071354330] res:1022 count:10 attr:0
[3420651559709658] res:1023 count:10 attr:0
...
上面的只是簡單的說明,新加的功能可以進一步完善 瘦客戶端 胖客戶端 智慧型客戶端
胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...
訊息佇列的簡單實現(客戶端A,客戶端B)
下面是兩個相互通訊程序的簡單實現,乙個代表客戶端a,乙個代表客戶端b 客戶端a 傳送typeb型別的資料到客戶端b 讀取傳送到客戶端a的typea型別的資料 include include include include include include include include include...
胖客戶端 瘦客戶端和富客戶端
以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...