2011-12-18 2 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 클래스를 확인하십시오. 그 수업은 당신의 인생을 더 쉽게 만들어줍니다.

관련 문제