1. 程式人生 > 實用技巧 >skynet 服務端框架安裝/執行

skynet 服務端框架安裝/執行

在linux伺服器上

1 下載 skynet 原始碼:https://github.com/cloudwu/skynet解壓

2 安裝編譯外掛autoconf ,readline-devel

yum -y install autoconf

yum -y installreadline-devel

3 在 skynet目錄下 執行編譯命令

make 'linux'

4 編譯安裝完成後 在skynet目錄執行啟動指令

./skynet examples/config # Launch first skynet node (Gate server) and a skynet-master (see config for standalone option) # 啟動服務端 examples
./3rd/lua/lua examples/client.lua # Launch a client, and try to input hello. #啟動客戶端連線上一步服務端

服務端啟動成功

[root@iZuf6e071s2zz4239qau07Z skynet]# ./skynet examples/config
[:01000002] LAUNCH snlua bootstrap
[:01000003] LAUNCH snlua launcher
[:01000004] LAUNCH snlua cmaster
[:01000004] master listen socket 0.0.0.0:2013
[:01000005] LAUNCH snlua cslave
[:01000005] slave connect to master 127.0.0.1:2013
[:01000004] connect from 127.0.0.1:48512 4
[:01000006] LAUNCH harbor 1
16777221 [:01000004] Harbor 1 (fd=4) report 127.0.0.1:2526 [:01000005] Waiting for 0 harbors [:01000005] Shakehand ready [:01000007] LAUNCH snlua datacenterd [:01000008] LAUNCH snlua service_mgr [:01000009] LAUNCH snlua main [:01000009] Server start [:0100000a] LAUNCH snlua protoloader [:0100000b] LAUNCH snlua console [:0100000c] LAUNCH snlua debug_console 8000 [:0100000c] Start debug console at
127.0.0.1:8000 [:0100000d] LAUNCH snlua simpledb [:0100000e] LAUNCH snlua watchdog [:0100000f] LAUNCH snlua gate [:0100000f] Listen on 0.0.0.0:8888 [:01000009] Watchdog listen on 8888 [:01000009] KILL self [:01000002] KILL self

服務端接受客戶端連線

[:0100000e] New client from : 127.0.0.1:42400
[:01000010] LAUNCH snlua agent
[:01000010] TRACE nil
[:01000010] <TRACE :01000010-1> 187373167288145 trace
[:01000010] <TRACE :01000010-1> 187373167305030 call : @./examples/agent.lua:87 @./examples/agent.lua:99 @./lualib/skynet.lua:279
[:0100000f] <TRACE :01000010-1> 187373167384940 request
[:0100000f] <TRACE :01000010-1> 187373167406069 response
[:0100000f] <TRACE :01000010-1> 187373167409665 end
[:01000010] <TRACE :01000010-1> 187373167424333 resume
[:01000010] <TRACE :01000010-1> 187373167427126 response
[:01000010] <TRACE :01000010-1> 187373167428997 end
[:01000010] TRACE nil
[:01000010] <TRACE :01000010-2> 187373167629757 trace
[:01000010] <TRACE :01000010-2> 187373167682902 end
set     hello   world
[:01000010] TRACE nil
[:01000010] <TRACE :01000010-3> 187373167722117 trace
[:01000010] <TRACE :01000010-3> 187373167739447 call : @./examples/agent.lua:22 @./examples/agent.lua:35 @./examples/agent.lua:57
[:0100000d] <TRACE :01000010-3> 187373167794901 request
[:0100000d] <TRACE :01000010-3> 187373167804358 response
[:0100000d] <TRACE :01000010-3> 187373167807217 end
[:01000010] <TRACE :01000010-3> 187373167819225 resume
[:01000010] <TRACE :01000010-3> 187373167839994 end
socket close    8
[:01000010] TRACE nil
[:01000010] <TRACE :01000010-4> 187427910885190 trace
[:01000010] KILL self

客戶端啟動並連線服務端傳送心跳

[root@iZuf6e071s2zz4239qau07Z skynet]# ./3rd/lua/lua examples/client.lua 
Request:        1
Request:        2
RESPONSE        1
msg     Welcome to skynet, I will send heartbeat every 5 sec.
RESPONSE        2
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
REQUEST heartbeat
^C./3rd/lua/lua: examples/client.lua:113: interrupted!
stack traceback:
        [C]: in function 'client.socket.usleep'
        examples/client.lua:113: in main chunk
        [C]: in ?