无法分配新套接字,抛出无效参数异常

本文关键字:无效 参数 异常 分配 套接字 | 更新日期: 2023-09-27 18:37:28

我创建了一个新项目,单行代码是新套接字的分配:

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

它抛出了一个异常:

system.net.sockets.socket 异常类型的未处理异常 发生在系统32中.DLL

其他信息:提供的参数无效

它还编写这些代码:0x80004005, ErrorCode: 10022

无法分配新套接字,抛出无效参数异常

我希望我迟到的回答对有同样问题的其他人仍然有用。

我在几个网络/套接字

示例中遇到了同样的问题,并且每次搜索(参数组合不匹配?/断开连接而不是关闭/可选设置以重用地址或套接字)都没有解决它。此"无效参数"错误消息具有误导性。现在,我想通了:

最有可能的是,您还直接在网络卷或共享上运行 Visual Studio 或可执行文件 (exe) 中的代码。即使以管理员身份执行也不起作用。

当我将可执行文件/代码项目复制到PC上的本地卷时,所有套接字程序都运行良好(即使没有管理员权限)。

更改用户帐户控制 (UAC) 权限或公司域组策略可能会绕过此问题。

问候F.J.