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

时间:2017-01-29 16:45:40

标签: c# sockets tcp tcpclient tcplistener

我按照this tutorial设置了客户端 - >服务器基于TCP的Windows窗体应用程序,其中服务器从客户端接收文件,并且运行良好。结构摘要如下:

  

服务器使用 TcpListener 来监听

     

客户使用 TcpClient 发送

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

  

服务器使用 TcpClient 发送

     

客户端使用 TcpListener 来监听

但是我收到以下错误

  

通常只允许使用每个套接字地址(协议/网络地址/端口)

这是因为客户端和服务器正在侦听错误所描述的相同端口吗?我怎样才能以两种方式发送和接收文件?

我的代码是我链接的那个帖子中发布的确切代码,因此我没有在这里发布。让我知道我是否也应该在这里发布我的代码:)

1 个答案:

答案 0 :(得分:1)

正如其他人所评论的那样,你要做的不是一个好主意,而是回答你的问题:

错误非常明显。您正在尝试使用已在使用的端口号。所以,只需使用不同的端口号。 (教程中的PortN参数。)换句话说,让一对TcpListener和TcpClient通过端口X进行通信,而另一对(反向)对通过端口X + 1进行通信。