public void BunchRequestData(RequestEnum request, IPEndPoint remote, Action <Request, byte[]> succeed, Action <Request> failed, byte[] data = null) { RequestDataHandle handle = RequestDataHandle.Instance(request, RandVerify, data); //监听请求 BunchRequestAdd(handle, remote, succeed, failed); BunchSend(); }
public static RequestDataHandle Instance(RequestEnum request, int verify, byte[] data = null) { RequestDataHandle handle = new RequestDataHandle(null); handle.verify = verify; handle.request = request; handle.data = data; return(handle); }
/// <summary> /// 单独请求服务端数据,成功或失败都会回调函数 /// </summary> public void SingleRequestData(RequestEnum requests, IPEndPoint remote, Action <Request, byte[]> succeed, Action <Request> failed, byte[] data = null) { RequestDataHandle handle = RequestDataHandle.Instance(requests, RandVerify, data); Request request = new Request(handle, remote, succeed, failed); request.isSend = false; request.overtime = 1000 / FRAME; request.timeSend = TickTime; request.timeStart = TickTime; request.verify = handle.verify; //添加请求列表 if (RequestDic.TryAdd(handle.verify, request)) { Netstat netstat = NetstatDic.GetOrAdd(remote, new Netstat()); netstat.request += 1; //注册完成后直接发送 SendTo(handle.ToBytes(), remote, request); //Debug.Log("[注册验证]" + request.verify + "[验证总数]" + RequestDic.Count); } //Console.WriteLine("单独发送数据请求" + remote + "[RequestDataHandle]"); //HandleManager.OutStr += "单独发送"+handle.verify+"数据请求至" + remote + "[RequestDataHandle]" + "\n"; }