c# - 由于其权限而无法访问套接字

标签 c# sockets tcp

我在 Windows 7 上使用 C# 和 visual studio 2010
只是尝试一个简单的服务器/客户端示例来学习套接字编程大约 2 周,但昨天当我开始调试时我得到了这个异常(试图以其访问权限禁止的方式访问套接字)。即使我关闭了防火墙和防病毒软件。加上检查安全选项卡并设置完全信任。

我读过很多文章说我们不能在 Windows 7 上使用 TCP,但它工作正常!它仍然有效,我只需要重新启动计算机。但是每次我需要运行时都重新启动不是解决方案。

有什么想法吗??

更新:

static void Main(string [] args)
    {
        Program progDomain = new Program();
        progDomain.clients = new List<ClientManager>();

        if ( args.Length == 0 )
        {
            progDomain.serverPort = 8000;
            progDomain.serverIP = IPAddress.Any;
        }
        if ( args.Length == 1 )
        {
            progDomain.serverIP = IPAddress.Parse(args [0]);
            progDomain.serverPort = 8000;
        }
        if ( args.Length == 2 )
        {
            progDomain.serverIP = IPAddress.Parse(args [0]);
            progDomain.serverPort = int.Parse(args [1]);
        }

        progDomain.bwListener = new BackgroundWorker();
        progDomain.bwListener.WorkerSupportsCancellation = true;
        progDomain.bwListener.DoWork += new DoWorkEventHandler(progDomain.StartToListen);
        progDomain.bwListener.RunWorkerAsync();

        Console.WriteLine("*** Listening on port {0}{1}{2} started.Press ENTER to shutdown server. ***\n",progDomain.serverIP.ToString(),":",progDomain.serverPort.ToString());

        Console.ReadLine();

        progDomain.DisconnectServer();
    }

    private void StartToListen(object sender , DoWorkEventArgs e)
    {
        this.listenerSocket = new Socket(AddressFamily.InterNetwork , SocketType.Stream , ProtocolType.Tcp);
        this.listenerSocket.Bind(new IPEndPoint(this.serverIP , this.serverPort));
        this.listenerSocket.Listen(200);
        while ( true )
            this.CreateNewClientManager(this.listenerSocket.Accept());
    }

这是触发异常的代码段。没什么,因为它从一开始就触发。

最佳答案

喜欢写在评论中检查TcpListener类(class)。该类(class)让您的生活更轻松。

关于c# - 由于其权限而无法访问套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555057/

相关文章:

c# - viewstate MAC 验证失败。 - 不在网络农场上,发生在单击按钮时

c# - 在哪里将 ImplicitlyExpandDesignTimeFacades 设置为 false?

第二次调用 Accept() 为同一客户端请求提供新的套接字

Java-通过套接字发送文件时文件会损坏,但发送到本地主机时除外

c++ - 使用 boost 的 C++ 中的 TCP 和 UDP 客户端 + 服务器

c# - 如何使用 Rx 遍历一系列带有停顿和淡入淡出的字符串?

c# - 在C#中检测windows 2008 server和windows 2003 server

Java - 在本地端口上监听 RTP 数据包

scala - 如何使用akka在scala中打开与TLS的TCP连接

sockets - 如何使用 golang 进行 tcp syn 端口扫描?