private Dictionary <uint, UdpClientSession> dict = new Dictionary <uint, UdpClientSession>(); //conv - UdpClientSession public UdpClientSession CreateSession(uint conv, IUdpMsgHandler _handler, Socket sendSocket, IPEndPoint remoteIEP, long heartBeatTime) { UdpClientSession session = new UdpClientSession(conv, sendSocket, remoteIEP, _handler, heartBeatTime); dict[session.GetConv()] = session; Log.InfoAf("[Udp] UdpClientSessionMgr Conv={0} Add UdpClientSession RemoteIp ={1} RemotePort = {2}", conv, session.GetRemoteIp(), session.GetRemotePort()); return(session); }
public UdpServerSessionMgr(UInt64 _serverId, uint _convCapacity, IUdpMsgHandler _handler, long _maxHeartBeatTime) { serverId = _serverId; convCapacity = _convCapacity; handler = _handler; maxHeartBeatTime = _maxHeartBeatTime; for (uint i = 1; i <= convCapacity; ++i) { freeConvQueue.Enqueue(i); } }
public UdpClientSession(uint _conv, Socket _sendSocket, IPEndPoint _remoteIEP, IUdpMsgHandler _handler, long _heartBeatTime) { clientFlag = true; conv = _conv; handler = _handler; remoteIEP = _remoteIEP; maxHeartBeatTime = _heartBeatTime; kcp = new Kcp(conv, kcpSender); kcp.NoDelay(1, 10, 2, 1); kcpSender.Init(_sendSocket, kcp, remoteIEP); }
public UdpServerSession(UInt64 _serverId, uint _conv, Socket _sendSocket, IPEndPoint _remoteIEP, IUdpMsgHandler _handler, long _maxHeartBeatTime) { serverId = _serverId; handler = _handler; remoteIEP = _remoteIEP; iepHashCode = _remoteIEP.GetHashCode(); conv = _conv; maxHeartBeatTime = _maxHeartBeatTime; nextCreateSessionTick = clock.ElapsedMilliseconds + KcpDef.KcpMaxVerifyDiffTime; kcp = new Kcp(conv, kcpSender); kcp.NoDelay(1, 10, 2, 1); kcpSender.Init(_sendSocket, kcp, remoteIEP); remoteIEP = _remoteIEP; }
public void Start(IPEndPoint localIEP, UdpVerfiyReqDele _dele, uint _convCapacity, IUdpMsgHandler _handler, long _maxHeartBeatTime) { udpReceiver = new UdpServerReceiver(serverId, _dele, _convCapacity, _handler, _maxHeartBeatTime); udpReceiver.StartReceive(localIEP); }
public UdpServerReceiver(UInt64 _serverId, UdpVerfiyReqDele _dele, uint _convCapacity, IUdpMsgHandler _handler, long _maxHeartBeatTime) { serverId = _serverId; verifyDele = _dele; sessionMgr = new UdpServerSessionMgr(_serverId, _convCapacity, _handler, _maxHeartBeatTime); kcpVerifyReqBytes = System.Text.Encoding.Default.GetBytes(KcpDef.KcpVerifyReq); kcpVerifyReqTotalLen = kcpVerifyReqBytes.Length + KcpDef.KcpVerifyTokenLen; }