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

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

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

它引发了一个例外:

An unhandled exception of type system.net.sockets.socket exception
occurred in System32.DLL

Additional information: An invalid argument was supplied

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

解决方法

我希望我的迟到答案对于有同样问题的其他人仍然有用.

我遇到了几个网络/套接字示例和每次搜索(参数组合不匹配?/断开而不是关闭/可选设置以重用地址或套接字)的相同问题没有解决它.此“无效参数”错误消息具有误导性.现在,我想出来了:

最有可能的是,您还在Visual Studio或Executable(exe)中直接在网络卷或共享上运行代码.即使以管理员身份执行也无效.

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

可能更改用户帐户控制(UAC)权限或公司域组策略可以避免此问题.

问候缩略词.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...