public FsdManager(IEventBroker broker, IAppConfig config) : base(broker) { mConfig = config; mSystemUID = SystemIdentifier.GetSystemDriveVolumeId(); mPositionUpdateTimer = new System.Timers.Timer(); mPositionUpdateTimer.Elapsed += PositionUpdateTimer_Elapsed; if (!Directory.Exists(Path.Combine(mConfig.AppPath, "NetworkLogs"))) { Directory.CreateDirectory(Path.Combine(mConfig.AppPath, "NetworkLogs")); } var directory = new DirectoryInfo(Path.Combine(mConfig.AppPath, "NetworkLogs")); var query = directory.GetFiles("*", SearchOption.AllDirectories); foreach (var file in query.OrderByDescending(file => file.CreationTime).Skip(10)) { file.Delete(); } ClientProperties = new ClientProperties("xPilot", mVersion, Assembly.GetEntryAssembly().Location.CheckSum(), ""); mRawDataStream = new StreamWriter(Path.Combine(mConfig.AppPath, $"NetworkLogs/NetworkLog-{DateTime.UtcNow:yyyyMMddHHmmss}.log"), false); FSD = new FSDSession(ClientProperties); FSD.IgnoreUnknownPackets = true; FSD.NetworkError += FSD_NetworkError; FSD.ProtocolErrorReceived += FSD_ProtocolErrorReceived; FSD.RawDataReceived += FSD_RawDataReceived; FSD.RawDataSent += FSD_RawDataSent; FSD.NetworkConnected += FSD_NetworkConnected; FSD.NetworkDisconnected += FSD_NetworkDisconnected; FSD.ServerIdentificationReceived += FSD_ServerIdentificationReceived; FSD.KillRequestReceived += FSD_KillRequestReceived; FSD.AcarsResponseReceived += FSD_AcarsResponseReceived; FSD.RadioMessageReceived += FSD_RadioMessageReceived; FSD.TextMessageReceived += FSD_TextMessageReceived; FSD.BroadcastMessageReceived += FSD_BroadcastMessageReceived; FSD.PilotPositionReceived += FSD_PilotPositionReceived; FSD.ATCPositionReceived += FSD_ATCPositionReceived; FSD.ClientQueryResponseReceived += FSD_ClientQueryResponseReceived; FSD.ClientQueryReceived += FSD_ClientQueryReceived; FSD.PlaneInfoRequestReceived += FSD_PlaneInfoRequestReceived; FSD.PlaneInfoResponseReceived += FSD_PlaneInfoResponseReceived; FSD.LegacyPlaneInfoResponseReceived += FSD_LegacyPlaneInfoResponseReceived; FSD.DeletePilotReceived += FSD_DeletePilotReceived; FSD.DeleteATCReceived += FSD_DeleteATCReceived; FSD.FlightPlanReceived += FSD_FlightPlanReceived; FSD.PingReceived += FSD_PingReceived; }
private void Connect(UserClickedLoginMessage msg, VSPCContext context) { this.context = context; fsdSession = new FSDSession(new ClientProperties("Claus Joergensen Client", new Version(1, 0), 0x5820, "163f6a324730ed0aa1ba30b29148687c"), msg); fsdSession.ServerIdentificationReceived += fsdSession_ServerIdentificationReceived; fsdSession.ClientQueryReceived += fsdSession_ClientQueryReceived; fsdSession.TextMessageReceived += fsdSession_TextMessageReceived; fsdSession.ATCPositionReceived += fsdSession_ATCPositionReceived; fsdSession.PilotPositionReceived += fsdSession_PilotPositionReceived; fsdSession.NetworkError += fsdSession_NetworkError; fsdSession.ProtocolErrorReceived += fsdSession_ProtocolErrorReceived; fsdSession.KillRequestReceived += fsdSession_KillRequestReceived; fsdSession.IgnoreUnknownPackets = true; fsdSession.Connect(msg.Server, 6809); }