C# 在客户端和服务器上使用 TcpListener

C# Using TcpListener on both Client and Server

我按照 this tutorial 设置了客户端 -> 服务器基于 TCP windows 的表单应用程序,其中 服务器从客户端接收文件 并且它可以工作出色地。结构摘要为:

Server uses TcpListener to listen

Client uses TcpClient to send

现在我正尝试通过使用相同的方法将文件从服务器发送到客户端来做相反的事情。我尝试了以下结构:

Server uses TcpClient to send

Client uses TcpListener to listen

但是我得到以下 错误:

Only one usage of each socket address (protocol/network address/port) is normally permitted

这是因为客户端和服务器正在侦听错误描述的相同端口吗?我还能如何双向发送和接收文件?

我的代码是 post 在我链接的线程中编辑的确切代码,因此我没有在此处 post 它。让我知道我是否也应该 post 我的代码:)

正如其他人评论的那样,您尝试做的事情不是一个好主意,但要回答您的问题:

错误很严重self-explanatory。您正在尝试使用已被使用的端口号。所以,只需使用不同的端口号。 (教程中的 PortN 参数。)换句话说,让一对 TcpListener 和 TcpClient 通过端口 X 通信,另一对(反向)通过端口 X+1 通信。