2011-12-18 71 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類。這門課讓你的生活更輕鬆。

相關問題