gotcp
1.0.0
GO言語TCPネットワークライブラリ
埋め込みgetcp.sessionを組み合わせて独自のTCPネットワークセッションを作成する
例えば:
type Echo struct {
gotcp. Session
}
func ( this * Echo ) OnRecv ( data [] byte , flag byte ) {
if this . IsVerified () == false {
// ...(业务代码,略)...
this . Verify ()
}
// ...(业务代码,略)...
}
func ( this * Echo ) OnClose () {
// ...(业务代码,略)...
}ネットワークセッションクラスを登録し、サービスを有効にします
例えば:
s := & gotcp. Server {}
s . RegisterSessType ( Echo {})
s . Start ( ":3000" )埋め込みgetcp.sessionを組み合わせて独自のTCPネットワークセッションを作成する
例えば:
type Echo struct {
gotcp. Session
}
func ( this * Echo ) OnRecv ( data [] byte , flag byte ) {
if this . IsVerified () == false {
// ...(业务代码,略)...
this . Verify ()
}
// ...(业务代码,略)...
}
func ( this * Echo ) OnClose () {
// ...(业务代码,略)...
}サーバーに接続します
例えば:
echo := & Echo {}
echo . Connect ( "localhost:3000" , echo )次のオープンソースライブラリを参照してください。
テストコード:
マシンの構成:CPU 16コア。メイン周波数2600
プロセス数:1サーバー。 30のクライアント
スタートアップスクリプト:test.sh
マシン全体の70%CPU
サーバープログラムCPUは25.5%(407.9 / 1600)を占めています
23W QPS


私はホームページに書くのが面倒です。https://blog.csdn.net/u013272009/article/details/96873908を参照してください。