SocketException(0x80004005)

时间:2016-05-10 12:50:30

标签: c# winsock

我的测试计算机上有一个简单的程序试图连接到服务器地址,它会因例外而失败。

using System;
using System.Net;
using System.Net.Sockets;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                const string ipaddr = "172.217.5.10";
                using (Socket sock = new Socket(AddressFamily.InterNetwork, 
                    SocketType.Stream, ProtocolType.Tcp))
                {
                    sock.Connect(IPAddress.Parse(ipaddr), 80);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            Console.ReadKey();
        }
    }
}

这个简单程序的输出是:

  

System.Net.Sockets.SocketException(0x80004005):尝试以其访问权限禁止的方式访问套接字172.217.5.10:80
         在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddress socketAddress)
         在System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
         在System.Net.Sockets.Socket.Connect(IPAddress地址,Int32端口)
         在D:.test-projects \ Test \ Program.cs中的HttpClientTests.Program.Main(String [] args):第16行

我系统上的浏览器工作得非常好,我不知道出错是什么问题。 我还使用本机(C ++)代码测试了完全相同的功能,它在VisualStudio中会失败,但是从命令行运行。 在我的系统上编译的代码在我的域中的其他系统上运行得非常好 我正在使用Windows 10和VS2015.2。

我还用Wireshark测试了我的程序,我看到了我的SYN,服务器的SYN ACK,然后是我身边的RST。

有人可以帮我找到这个错误的原因吗?

0 个答案:

没有答案