Как поменять роли TcpListener/TcpClient?

У меня необычный вопрос, на который я надеюсь получить информацию. Я новичок в сетевом программировании и изучаю программирование сокетов с помощью классов.NET "TcpListener" и "TcpClient" в пространстве имен System.Net.Sockets. Мне нужно использовать их необычным образом: мне нужно установить соединение между компьютером A и компьютером B. На компьютере A будет запущен экземпляр класса "TcpClient", и он попытается открыть соединение с компьютером B. который запускает экземпляр "TcpListener". Эта часть кажется прямой. Однако, как только соединение было установлено, мне нужно поменять роли так, чтобы компьютер A стал машиной, которая ожидает и отвечает на сообщения, отправленные с компьютера B. Другими словами, компьютер A становится сервером, а компьютер B становится клиентом. Это изменение роли должно использовать то же соединение, которое было открыто компьютером A, когда он изначально действовал как клиент. Мне не ясно, как это сделать, поскольку все примеры и (превосходная) книга "Сокеты TCP/IP в C#", которые я читаю, всегда используют эти классы в их предопределенных ролях. Есть ли на самом деле способ сделать это? Нужно ли переходить к классу "Socket", а не использовать более абстрактные классы "TcpListener/TcpClient"?

0 ответов

Другие вопросы по тегам