我有一个使用ASP.net c#,javascript和jQuery的Web应用程序。
我正在尝试在PAGE_UNLOAD事件中关闭某些活动的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();
}
}
}
但是,当我尝试绑定时,我收到以下错误 - “尝试以其访问权限禁止的方式访问套接字”
通过设置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();
我是socket编程的新手,所以感谢任何帮助。
答案 0 :(得分:0)
套接字很可能是由某个进程持有的。使用netstat -o查找哪一个。
答案 1 :(得分:0)
关闭或“删除”时不会出现问题。 绑定时出现问题。 请相应修改标题。您正在尝试绑定已绑定的套接字,或尝试将其绑定到本地端口< 1024。
你正在做的事情没有意义。如果它们是您自己的连接,只需关闭它们。 您无需为此创建新套接字。
当你创建一个新套接字时,你不需要绑定它,除非你要用它来监听它,并且在没有事先连接它或随后关闭它的情况下关闭它也没有意义。< / p>