public override bool Handle(byte[] firstPacket, int length, Socket socket, object state) { if (socket.ProtocolType != ProtocolType.Udp) { return false; } if (length < 4) { return false; } Listener.UDPState udpState = (Listener.UDPState)state; IPEndPoint remoteEndPoint = (IPEndPoint)udpState.remoteEndPoint; UDPHandler handler = _cache.get(remoteEndPoint); if (handler == null) { handler = new UDPHandler(socket, _controller.GetAServer(IStrategyCallerType.UDP, remoteEndPoint), remoteEndPoint); _cache.add(remoteEndPoint, handler); } handler.Send(firstPacket, length); handler.Receive(); return true; }
public bool Handle(byte[] firstPacket, int length, Socket socket, object state) { if (socket.ProtocolType != ProtocolType.Udp) { return(false); } if (length < 4) { return(false); } Listener.UDPState udpState = (Listener.UDPState)state; IPEndPoint remoteEndPoint = (IPEndPoint)udpState.remoteEndPoint; UDPHandler handler = _cache.get(remoteEndPoint); if (handler == null) { handler = new UDPHandler(socket, _config.GetCurrentServer(), remoteEndPoint); _cache.add(remoteEndPoint, handler); } handler.Send(firstPacket, length); handler.Receive(); return(true); }