예제 #1
0
        static void Main(string[] args)
        {
            Logger.Enable(Loggers.ConsoleLogger);
            var receiver = new UdpReceiver();

            receiver.MessageReceived += Receiver_MessageReceived;
            receiver.ReceiveAsync().Wait();
        }
예제 #2
0
        public ScanWindow()
        {
            InitializeComponent();

            receiver.UdpMessageReceived += OnUdpMessageReceived;

            UdpSender.Broadcast("ml.festival.defectively.scan", 52000);

            new Task(async() => { await receiver.ReceiveAsync(); }).Start();
        }
예제 #3
0
        public async Task Initialize()
        {
            ComponentPool.ServerWrapper    = this;
            DataStorage.Instance.Directory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data");
            DataStorage.Instance.Load();

            Server               = new Server(42000);
            Server.Connected    += OnConnected;
            Server.Disconnected += OnDisconnected;

            receiver.UdpMessageReceived += OnUdpMessageReceived;

            foreach (var extPath in Directory.EnumerateFiles(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "extensions"), "*.dll"))
            {
                ExtensionManager.InitializeExtension(extPath, true);
            }

            try {
                new Task(async() => { await receiver.ReceiveAsync(); }).Start();
                await Server.StartAsync(true);
            } catch { }
        }