static void Main(string[] args) { // Network monitor type TCPNetworkMonitor.NetworkMonitorType MonitorType = TCPNetworkMonitor.NetworkMonitorType.RawSocket; /*StringBuilder errbuff = new StringBuilder(); * pcap_open("", 0, 0, 0, new IntPtr(), errbuff); * if (errbuff.ToString() != "") * { * MonitorType = TCPNetworkMonitor.NetworkMonitorType.WinPCap; * }*/ // Packet queue pq = new LinkedList <Packet>(); // Initialize Machina FFXIVNetworkMonitor monitor = new FFXIVNetworkMonitor { MessageReceived = OnMessageReceived, MessageSent = OnMessageSent, MonitorType = MonitorType }; monitor.Start(); var wizardProcessor = new WizardProcessor(); // Run packet ID stuff wizardProcessor.Run(pq); }
// start machina! public static void BeginMachina() { EndMachina(); _moniter = new FFXIVNetworkMonitor { MessageReceived = MachinaWorker }; _moniter.Start(); }
public static void Main(string[] args) { FFXIVNetworkMonitor monitor = new FFXIVNetworkMonitor(); var GameDir = Path.Combine(Process.GetProcessesByName("ffxiv_dx11")[0].MainModule.FileName, "..\\sqpack"); lumina = new Lumina.Lumina(GameDir); monitor.MessageReceived = (string connection, long epoch, byte[] message) => MessageReceived(connection, epoch, message); monitor.MessageSent = (string connection, long epoch, byte[] message) => MessageSent(connection, epoch, message); monitor.Start(); // Run for 12000 seconds System.Threading.Thread.Sleep(12000000); monitor.Stop(); }
// 플러그인 초기화 public void InitPlugin(TabPage pluginScreenSpace, Label pluginStatusText) { _actLabelStatus = pluginStatusText; _actTabPage = pluginScreenSpace; if (_isFormLoaded) { ActInitialize(); } else { ActGlobals.oFormActMain.Shown += OFormActMain_Shown; } #if MACHINA // 마시나 _monitor = new FFXIVNetworkMonitor { MessageReceived = new FFXIVNetworkMonitor.MessageReceivedDelegate(OnFFXIVNetworkReceived) }; _monitor.Start(); #else // FFXIV 플러그인용 if (_FFXIVPlugin == null) { _FFXIVPlugin = ActGlobals.oFormActMain.ActPlugins.Where(x => x.pluginFile.Name.ToUpper().Contains("FFXIV_ACT_PLUGIN") && x.lblPluginStatus.Text.ToUpper().Contains("FFXIV PLUGIN STARTED.")) .Select(x => x.pluginObj) .FirstOrDefault(); } if (_FFXIVPlugin != null) { try { ((FFXIV_ACT_Plugin.FFXIV_ACT_Plugin)_FFXIVPlugin).DataSubscription.NetworkReceived -= _fpgNetworkReceiveDelegete; ((FFXIV_ACT_Plugin.FFXIV_ACT_Plugin)_FFXIVPlugin).DataSubscription.NetworkReceived += _fpgNetworkReceiveDelegete; //((FFXIV_ACT_Plugin.FFXIV_ACT_Plugin)_FFXIVPlugin).DataSubscription.ZoneChanged -= _fpgZoneChangeDelegate; //((FFXIV_ACT_Plugin.FFXIV_ACT_Plugin)_FFXIVPlugin).DataSubscription.ZoneChanged += _fpgZoneChangeDelegate; _fpgConnect = true; } catch { _fpgConnect = false; } } #endif }
public void Run() { FFXIVNetworkMonitor monitor = new FFXIVNetworkMonitor(); monitor.MonitorType = TCPNetworkMonitor.NetworkMonitorType.WinPCap; monitor.MessageReceived = (long epoch, byte[] message, int set) => MessageReceived(epoch, message, set); monitor.MessageSent = (long epoch, byte[] message, int set) => MessageSent(epoch, message, set); monitor.Start(); while (!_shouldStop) { ; } Console.WriteLine("MachinaCaptureWorker: Terminating"); monitor.Stop(); }
private void InitializeNetworkMonitor() { _ffxivNetworkMonitor?.Stop(); _ffxivNetworkMonitor = new FFXIVNetworkMonitor(); _ffxivNetworkMonitor.MessageReceived += (connection, epoch, message) => _packetProcessor?.ProcessZonePacket(message); _ffxivNetworkMonitor.MonitorType = TCPNetworkMonitor.NetworkMonitorType.RawSocket; if (winPCapCheckBox.Checked) { _ffxivNetworkMonitor.MonitorType = TCPNetworkMonitor.NetworkMonitorType.WinPCap; } _ffxivNetworkMonitor.Start(); }
static void Main(string[] args) { var pm = new PacketMonitor(); pm.OnPingSample += PmOnOnPingSample; var monitor = new FFXIVNetworkMonitor(); monitor.MessageReceived = pm.MessageReceived; monitor.MessageSent = pm.MessageSent; monitor.Start(); Console.WriteLine("Press any key to stop..."); Console.ReadKey(); monitor.Stop(); }
public void Run() { FFXIVNetworkMonitor monitor = new FFXIVNetworkMonitor(); monitor.MonitorType = _monitorType; monitor.MessageReceived = MessageReceived; monitor.MessageSent = MessageSent; monitor.Start(); while (!_shouldStop) { // So don't burn the cpu while doing nothing Thread.Sleep(1); } Console.WriteLine("MachinaCaptureWorker: Terminating"); monitor.Stop(); }
public void Run(uint processID) { Log.overlayLog($"开始检测进程:{processID}"); FFXIVNetworkMonitor monitor = new FFXIVNetworkMonitor(); RegisterToFirewall(); monitor.MonitorType = Daigassou.Properties.Settings.Default.isUsingWinPCap? TCPNetworkMonitor.NetworkMonitorType.WinPCap: TCPNetworkMonitor.NetworkMonitorType.RawSocket; monitor.MessageReceived = MessageReceived; monitor.MessageSent = MessageSent; monitor.ProcessID = processID; monitor.Start(); while (!_shouldStop) { // So don't burn the cpu while doing nothing Thread.Sleep(5); } Console.WriteLine("MachinaCaptureWorker: Terminating"); monitor.Stop(); }
public void FFXIVNetworkMonitor_ReceiveGameData() { bool dataReceived = false; var sut = new FFXIVNetworkMonitor(); sut.MessageReceived = (string id, long epoch, byte[] data) => { dataReceived = true; }; sut.Start(); for (int i = 0; i < 100; i++) { if (dataReceived == true) { break; } System.Threading.Thread.Sleep(10); } sut.Stop(); Assert.IsTrue(dataReceived); }
public void Start() { monitor.MessageReceived = OnMessageReceived; monitor.Start(); }