“ System.Net.Sockets.SocketException(0x80004005):尝试以其访问权限禁止的方式访问套接字”
好的,我知道这个问题在S.O.上已经发生过很多次了,但是我找不到解决方案。这是我的问题:可能是什么原因造成的。
点:
还有一点-移植到.NET Core后,也会发生此错误。
唯一的变化是我尝试共享端口,但看不到错误与错误之间的连接。要连接的代码是
client = new TcpClient();
client.Client.SetSocketOption(
SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
client.Client.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, 0);
client.Client.Bind(ipLocalEndPoint);
client.Client.Connect(ep);
重用本地端点的地方。
此错误的可能原因是什么?每次BIND调用都会发生这种情况。
答案 0 :(得分:0)
好吧,这一切都使我变得非常愚蠢。
我已经做过的事情,而且忘记了我做过的事情,是在同一端口上建立一个TcpListener,此代码/// <summary>
/// Used for getting DateTime.Now(), time is changeable for unit testing
/// </summary>
public static class SystemTime
{
/// <summary>
/// Normally this is a pass-through to DateTime.Now, but it can be
/// overridden with SetDateTime( .. ) for testing or debugging.
/// </summary>
public static Func<DateTime> Now = () => DateTime.Now;
/// <summary>
/// Set time to return when SystemTime.Now() is called.
/// </summary>
public static void SetDateTime(DateTime dateTimeNow)
{
Now = () => dateTimeNow;
}
/// <summary>
/// Resets SystemTime.Now() to return DateTime.Now.
/// </summary>
public static void ResetDateTime()
{
Now = () => DateTime.Now;
}
}
无法正常工作。