我创建了一个新项目,单行代码是新套接字的分配:
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
它引发了一个例外:
system.net.sockets.socket异常类型的未处理异常 发生在System32.DLL
中附加信息:提供了无效参数
它还会写出这些代码:0x80004005, ErrorCode: 10022
答案 0 :(得分:7)
我希望我的迟到答案对于有同样问题的其他人仍然有用。
我遇到了几个网络/套接字示例的相同问题,并且每次搜索(参数组合不匹配?/断开而不是关闭/可选设置以重用地址或套接字) NOT 修复它。这个无效的论点'错误消息具有误导性。现在,我想出来了:
最有可能的是,您还在Visual Studio或Executable(exe)中直接在网络卷或共享上运行代码。即使以管理员身份执行也无法运行。
当我在电脑上将可执行文件/代码项目复制到本地卷时,所有套接字程序都运行良好(即使没有管理员权限)。
或许,更改您的用户帐户控制(UAC)权限或公司域组策略可能会绕过此问题。
此致 F.J。