我有一个使用ASP.net C#,javascript和jQuery的Web应用程序。

我试图在PAGE_UNLOAD事件中关闭某些 Activity 的TCP连接。

这是我的代码-

IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();

IPAddress ipAddress = Dns.Resolve(camIP).AddressList[0];
IPEndPoint remEndPoint = new IPEndPoint(ipAddress, 80);

foreach (TcpConnectionInformation c in connections)
{
    if (c.RemoteEndPoint.ToString() == remEndPoint.ToString())
    {
        Socket mySocket = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp);

        try
        {
            mySocket.Bind(c.LocalEndPoint);
            mySocket.Shutdown(SocketShutdown.Both);
        }
        catch (Exception ex)
        {

        }
        finally
        {
            mySocket.Close();
        }
    }
}

但是,当我尝试绑定(bind)时,出现以下错误-“试图以一种其访问权限禁止的方式访问套接字”

通过设置img控件的src创建TCP连接-
CameraIframe.Src = @"http://" + CameraHiddenFieldUsername.Value + ":" +
    CameraHiddenFieldPassword.Value + "@" + camIP + @"/axis-cgi/mjpg/video.cgi?fps=" +
    CameraHiddenFieldfps.Value + "&compression=" + CameraHiddenFieldcompression.Value +
    "&resolution=320x240&text=0&date=0&clock=0&eek=" + DateTime.Now.ToBinary();

我是套接字编程的新手,所以将不胜感激任何帮助。

最佳答案

套接字很可能由某个进程持有。使用netstat -o查找哪个。

关于c# - 尝试关闭事件的TCP连接,但出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21755405/

10-13 04:45