int port = 44344;
var thread = new Thread(
() =>
{
TcpListener listener = null;
try
{
listener = new TcpListener(IPAddress.Any, port);
listener.Start();
while (true)
{
var client = listener.AcceptTcpClient();
}
}
catch (ThreadInterruptedException)
{ }
if (listener != null)
listener.Stop();
});
thread.Start();
Thread.Sleep(TimeSpan.FromSeconds(1));
var socket = new Socket(SocketType.Stream, ProtocolType.IP);
socket.Connect("localhost", port);
在我的电脑上运行时,此代码在最后一行失败,并出现“无法建立连接,因为目标计算机主动拒绝”异常。有什么想法可能是什么原因以及如何解决它吗?
最佳答案
解决方案是创建指定了 AddressFamily 参数的客户端套接字:
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
关于c# - TcpListener - 无法建立连接,因为目标机器主动拒绝它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32171574/