private PerConnectionMonitor CreatePerConnectionMonitor(string connection)
        {
            var monitor = new PerConnectionMonitor(connection);

            monitor.OnPingSample         += MonitorOnOnPingSample;
            monitor.OnPingOpCodeDetected += code => OnPingOpCodeDetected?.Invoke(code);

            return(monitor);
        }
Beispiel #2
0
            public ProcessContext(uint pid, TCPNetworkMonitor.NetworkMonitorType monitorType)
            {
                Monitor.ProcessID   = pid;
                Monitor.MonitorType = monitorType;

                // Packet sent by game client won't be captured if filter is enabled for RawSocket mode,
                // so enable the filter only on WinPCap mode.
                Monitor.UseSocketFilter = monitorType == TCPNetworkMonitor.NetworkMonitorType.WinPCap;

                Monitor.MessageReceived              = _packetMonitor.MessageReceived;
                Monitor.MessageSent                  = _packetMonitor.MessageSent;
                _packetMonitor.OnPingSample         += PacketMonitorOnOnPingSample;
                _packetMonitor.OnPingOpCodeDetected += code => OnPingOpCodeDetected?.Invoke(code);
            }
        public PerConnectionMonitor(string connection)
        {
            Connection = new ConnectionIdentifier(connection);
            _keepAliveHandler.OnPingSample += KeepAliveHandlerOnOnPingSample;
            _ipcHandler.OnPingSample       += IpcHandlerOnOnPingSample;

            _keepAliveHandler.OnClientRecv += _pingOpCodeDetector.ClientRecv;
            _keepAliveHandler.OnClientSent += _pingOpCodeDetector.ClientSent;
            _ipcHandler.OnClientRecv       += _pingOpCodeDetector.ClientRecv;
            _ipcHandler.OnClientSent       += _pingOpCodeDetector.ClientSent;

            _pingOpCodeDetector.OnPingOpCodeDetected += opCode =>
            {
                _ipcHandler.PingOpCode = opCode;
                OnPingOpCodeDetected?.Invoke(opCode);
            };
        }
Beispiel #4
0
            public ProcessContext(ProcessInfo process, NetworkMonitorType monitorType)
            {
                Monitor.ProcessID = process.Pid;
                if (process.FileName == Utils.GameExeNameDx11)
                {
                    Monitor.OodlePath = process.FilePath;
                }
                Monitor.MonitorType = monitorType;

                // Packet sent by game client won't be captured if filter is enabled for RawSocket mode,
                // so enable the filter only on WinPCap mode.
                Monitor.UseRemoteIpFilter = monitorType == NetworkMonitorType.WinPCap;

                Monitor.MessageReceivedEventHandler  = _packetMonitor.MessageReceived;
                Monitor.MessageSentEventHandler      = _packetMonitor.MessageSent;
                _packetMonitor.OnPingSample         += PacketMonitorOnOnPingSample;
                _packetMonitor.OnPingOpCodeDetected += code => OnPingOpCodeDetected?.Invoke(code);
            }