2011-12-18 9 views
1

Windows 7でVisual Studio 2010でC#を使用しています
単純なサーバー/クライアントの例を試してみてください.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

使用しているコードを提供できますか? –

+0

あなたはどのポートを使用していますか? – rekire

+0

@rekireローカルホスト:8000 – Katia

答えて

1

コメントに書かれているように、TcpListenerクラスを確認してください。そのクラスはあなたの人生を簡単にします。

関連する問題