无法分配新套接字,抛出无效参数异常
本文关键字:无效 参数 异常 分配 套接字 | 更新日期: 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.