我有一个不寻常的问题,我希望得到投入。我是网络编程的新手,正在通过.NET" TcpListener"来学习套接字编程。和" TcpClient" System.Net.Sockets命名空间中的类。我需要以不寻常的方式使用它们:我需要能够在计算机A和计算机B之间建立连接。计算机A将运行" TcpClient" class并将尝试打开与计算机B的连接,计算机B正在运行" TcpListener"的实例。这部分似乎很直接。但是,一旦建立连接,我需要反转角色,以便计算机A成为等待并响应从计算机B发送的消息的机器。换句话说,计算机A然后成为服务器,计算机B成为客户端。此角色转换必须使用计算机A最初作为客户端时打开的相同连接。我不清楚如何做到这一点,因为所有的例子和(优秀的)书籍#34; C#中的TCP / IP套接字"我阅读时总是在预定义的角色中使用这些类。有没有办法做到这一点?我是否必须下载到" Socket"而不是使用更抽象的" TcpListener / TcpClient"类?