Я создаю простой асинхронный слушатель сокетов, который действует как шлюз для устройств. Этот слушатель прослушивает произвольный порт и предоставляет API для другого программного обеспечения для доступа к устройствам по сети.
Чтобы создать слушатель асинхронного сокета, на основе этой статьи на MSDN , мне нужно создать бесконечный цикл, например:
while (true) {
// Set the event to nonsignaled state.
allDone.Reset();
// Start an asynchronous socket to listen for connections.
Console.WriteLine("Waiting for a connection...");
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener
);
// Wait until a connection is made before continuing.
allDone.WaitOne();
}
Прототип консольной программы работает хорошо. Тем не менее, я намерен создать версию GUI для слушателя асинхронного сокета. Я знаю, что если я сделаю бесконечный цикл в графическом интерфейсе, графический интерфейс будет зависать. Как дать графический интерфейс для слушателя? Я надеюсь на простое решение, которое не связано с потоками.