无法访问服务器套接字

时间:2014-12-17 15:14:57

标签: c# sockets networking network-programming socketexception

这是从msdn网站获取的通用代码段,我试图将其用于套接字侦听程序。我为一家非常大的公司工作,我不会说任何一个“网络人”的话。当我运行这个应用程序时,这里的行 - > listener.Bind(localEndPoint);引发以下异常:An attempt was made to access a socket in a way forbidden by its access permissions。代码有问题还是我需要开始在网络部门提问?在谷歌搜索之后,我认为它与网络防火墙设置有关,但需要一些澄清。感谢。

private void ConnectToSocket()
{
    // Data buffer for incoming data.
    byte[] bytes = new byte[1024];

    // Connect to a remote device.
    try
    {
        // Establish the remote endpoint for the socket.
        // This example uses port 11000 on the local computer.
        IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
        IPAddress ipAddress = ipHostInfo.AddressList[0];
        IPEndPoint remoteEP = new IPEndPoint(ipAddress, 80);

        // Create a TCP/IP  socket.
        Socket sender = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp);

        // Connect the socket to the remote endpoint. Catch any errors.
        try
        {
            sender.Connect(remoteEP);

            Console.WriteLine("Socket connected to {0}",
                sender.RemoteEndPoint.ToString());

            // Encode the data string into a byte array.
            byte[] msg = Encoding.ASCII.GetBytes("This is a test<EOF>");

            // Send the data through the socket.
            int bytesSent = sender.Send(msg);

            // Receive the response from the remote device.
            int bytesRec = sender.Receive(bytes);
            Console.WriteLine("Echoed test = {0}",
                Encoding.ASCII.GetString(bytes, 0, bytesRec));

            // Release the socket.
            sender.Shutdown(SocketShutdown.Both);
            sender.Close();

        }
        catch (ArgumentNullException ane)
        {
            Console.WriteLine("ArgumentNullException : {0}", ane.ToString());
        }
        catch (SocketException se)
        {
            Console.WriteLine("SocketException : {0}", se.ToString());
        }
        catch (Exception e)
        {
            Console.WriteLine("Unexpected exception : {0}", e.ToString());
        }

    }
    catch (Exception e)
    {
        Console.WriteLine(e.ToString());
    }
}

0 个答案:

没有答案
相关问题