实现多个玩家联机战斗时的操作转发。
玩家先通过组队服务,组好队伍。队长点击开始攻击后,玩家获得本次战斗的token,再连接战斗转发服务。
战斗转发服务为每个队伍创建一个房间,并仅允许该队伍的玩家加入该房间。房间内的每个玩家是完全平等的,所以每个玩家都不能发送指示性指令,比如开始战斗,结束战斗之类的。
每个玩家根据协议发送自己的状态信息,由服务决定当前应处的状态。
--[[ | |
onlytcp lua客户端 | |
因为发现luasocket receive(number)方式的一个奇惨问题 所以收数据改成了按行读取 | |
]] | |
CONST_Socket_TickTime = 0.1--SOCKET接收信息轮训时间 | |
CONST_Socket_ReconnectTime = 5--socket重连偿试时间时隔 | |
CONST_HeartBeaT_TimeOut = 20--socket心跳超时时间 | |
CONST_HeartBeaT_SendTime = 15--socket心跳发送间隔 | |
CONST_HeartBeaT_CheckTime = 25--socket心跳检查时间 |
local M = {} | |
function M.test(...) | |
print(...) | |
end | |
return M |
local yield = coroutine.yield | |
local function loadlog(filename) | |
-- local log = {} | |
local f = assert(io.open(filename)) | |
for line in f:lines() do | |
if line == "=======" then | |
break | |
end | |
local ptr, osize, nsize, ret = line:match("([^ ]+) (%d+) (%d+) ([^ ]+)") |
sudo yum install -y systemtap systemtap-runtime | |
sudo yum install kernel-debuginfo kernel-debuginfo-common | |
sudo yum install yum-utils | |
debuginfo-install kernel-3.10.0-514.21.2.el7.x86_64 | |
sudo yum install -y kernel-devel-$(uname -r) | |
sudo yum install -y kernel-debuginfo-$(uname -r) | |
sudo yum install -y kernel-debuginfo-common-$(uname -m)-$(uname -r) |
net=5.422477ms,cluster=91.399046ms,cpu=323.263431ms,latency=5.447901ms,time=425.532855ms | |
login1:00000063 122.286771ms trace gm | |
login1:00000063 102.904420ms(net=3.207950ms,cluster=0.250590ms,cpu=3.580064ms,time=7.038604ms) call : @./service/agent/player/war_base.lua:363 @./service/agent/player/war_base.lua:130 @./service/agent/agent_lock.lua:62 | |
login1:00000009 3.568610ms request | |
login1:00000009 3.458540ms(time=0.250590ms) sleep : @./skynet/lualib/skynet/socketchannel.lua:374 @./skynet/service/clusterd.lua:147 @./skynet/service/clusterd.lua:252 | |
center:0000005d 0.250590ms tracecall begin | |
center:00000056 0.069562ms request | |
center:00000056 response | |
center:0000005d tracecall end | |
login1:00000009 0.011454ms resume |
#ifndef MTRAND_H__ | |
#define MTRAND_H__ | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
#include <math.h> | |
/* Mersenne Twister was developed by Makoto Matsumoto and Takuji Nishimura */ | |
#define MT_N 624 |