2011-12-18 70 views
1

我在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()); 
    } 

这里是一段代码,其中的异常火灾。没什么太多,因为它从一开始就引发火灾。

+0

你能否提供你正在使用的代码? – 2011-12-18 21:49:06

+0

你在使用哪个端口? – rekire 2011-12-18 21:51:44

+0

@rekire本地主机:8000 – Katia 2011-12-18 22:13:14

回答

1

就像写在评论检查TcpListener类。这门课让你的生活更轻松。

相关问题