C# 正在连接但未从TcpListener接收数据

C# 正在连接但未从TcpListener接收数据,c#,tcp,tcplistener,C#,Tcp,Tcplistener,我开发了一个接收连接的小型服务器(基本上使用这里的示例:) 问题是,我不知道如何进行连接,但每当建立连接时,它都无法发送数据(或者发送的数据消除没有到达服务器,从TcpListener的GetStream读取NetworkStream的方法只是阻塞,没有获得任何数据字节) 我试着只使用telnet,而不是使用我的客户端,问题也是一样的。有趣的是,如果我使用“telnet localhost 2000”,它就可以完美地工作 似乎有什么东西阻止了通信(以前,在我升级服务器上的.NET Fw之前,本地

我开发了一个接收连接的小型服务器(基本上使用这里的示例:)

问题是,我不知道如何进行连接,但每当建立连接时,它都无法发送数据(或者发送的数据消除没有到达服务器,从TcpListener的GetStream读取NetworkStream的方法只是阻塞,没有获得任何数据字节)

我试着只使用telnet,而不是使用我的客户端,问题也是一样的。有趣的是,如果我使用“telnet localhost 2000”,它就可以完美地工作

似乎有什么东西阻止了通信(以前,在我升级服务器上的.NET Fw之前,本地主机都不工作),但我不知道是什么原因,只是阻止了数据,但允许了连接,实际上,我不知道应用程序能做什么

任何帮助都将不胜感激! 谢谢大家!

编辑:

线路

TcpClient client = server.AcceptTcpClient();            
正确获取tcp连接,然后获取networkstream,当我尝试从中读取时,没有收到任何数据(i==0):


您是否正在尝试使用WAN IP而不是LAN IP连接到服务器? 您可能需要转发路由器端口以使其正常工作


有关端口转发的帮助,请参阅。

这是一个防火墙…显然,端口2000上有一个具有特定协议的公共服务,防火墙阻止了所有不遵循此协议的数据:/


尽管如此,还是要感谢您的帮助!!

发布您的代码并仔细检查防火墙。您可以发布一些代码吗?这对回答您的问题非常有帮助。其他网络服务是否可以在这些框之间工作(文件/打印共享、IIS甚至ping)?它正确地从wan转发,连接到达服务器,但无法向服务器发送数据(看起来有什么东西阻止了数据传输,但没有连接)。正如其他人所说,发布一些客户端代码将使我们能够更有效地帮助您。(我猜您的服务器与您链接的示例非常相似)
i = stream.Read(bytes, 0, bytes.Length)