判定leafserver的通訊頻率

2021-09-10 12:40:41 字數 2543 閱讀 4211

獲取leafserver

git clone
設定leafserver目錄為gopath

export gopath=/path/to/leafserver
獲取leaf

go get github.com/name5566/leaf
修改msg/msg.go

)// 使用預設的 json 訊息處理器(預設還提供了 protobuf 訊息處理器)

var processor = json.

newprocessor()

func

init()

)}// 乙個結構體定義了乙個 json 訊息的格式

// 訊息名為 hello

type heartbeat struct

修改gate/router.go

package gate

import

("server/game"

"server/msg"

)func

init()

, game.chanrpc)

}

修改game/internal/handler.go

}編譯leafserver並啟動

go install server
package main

import

("encoding/binary"

"net"

"fmt"

"strings"

"time"

"os"

)//log函式

func

log(v ...

inte***ce

)//heartbeat訊息

func

heartbeat

(conn *net.tcpconn)

}`)// len + data

m :=

make([

]byte,2

+len

(data)

)// 預設使用大端序

binary.bigendian.

putuint16

(m,uint16

(len

(data)))

copy

(m[2:]

, data)

// 傳送訊息

conn.

write

(m)//接收訊息

request :=

make([

]byte

,128

)//迴圈讀取訊息

fmt.

println

("message received from server."

) read_len, err := conn.

read

(request)

if err !=

nilif read_len ==

0else

if strings.

trimspace

(string

(request[

:read_len]))

!=""

else

//清空上次讀取內容

request =

make([

]byte

,128)}

func

main()

conn, err := net.

dialtcp

("tcp"

,nil

, tcpaddr)

if err !=

nil t := time.

now().

unix()

z :=

0for

}}

啟動客戶端測試

每次測定數值有所偏差但是完全滿足60hz的要求

判定表與判定樹的畫法 判定樹和判定表

判定樹又稱決策樹,是一種描述加工的圖形工具,適合描述問題處理中具有多個判斷,而且每個決策與若干條件有關。使用判定樹進行描述時,應該從問題的文字描述中分清哪些是判定條件,哪些是判定的決策,根據描述材料中的聯結詞找出判定條件的從屬關係 並列關係 選擇關係,根據它們構造判定樹。例4.5 某工廠對工人的超產...

數字的判定

lang en charset utf 8 titletitle head 請輸入qq號碼 type text type button value 判斷 1 有沒有輸入 2 輸入的是不是數字 3 不能有0在前面 4 不能是小數 5 輸入的數字必須在5位以上 10位以內 var otxt docume...

素數的判定

problem description 對於表示式n 2 n 41,當n在 x,y 範圍內取整數值時 包括x,y 39 xinput 輸入資料有多組,每組佔一行,由兩個整數x,y組成,當x 0,y 0時,表示輸入結束,該行不做處理。output 對於每個給定範圍內的取值,如果表示式的值都為素數,則輸...