Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 请求的协议尚未配置到系统中,或者不存在该协议的实现_C#_Windows_Sockets_Networking - Fatal编程技术网

C# 请求的协议尚未配置到系统中,或者不存在该协议的实现

C# 请求的协议尚未配置到系统中,或者不存在该协议的实现,c#,windows,sockets,networking,C#,Windows,Sockets,Networking,以下声明 var socket = new Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Udp); 在我的计算机上出现以下错误 An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in System.Net.Sockets.dll The requested protocol has not been configured

以下声明

var socket = new Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Udp);
在我的计算机上出现以下错误

An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in System.Net.Sockets.dll
The requested protocol has not been configured into the system, or no implementation for it exists
但是,如果我将
协议类型
更改为
Tcp
,它会工作吗

我正在使用Windows10和VisualStudio2019

更新: 我更改了代码以初始化套接字。现在它在
socket.Bind(endPoint)行中得到一个异常

未处理的异常:System.Net.Sockets.SocketException:引用的对象类型不支持尝试的操作


如果
AddressFamily==AddressFamily.InterNetwork=>
SocketType.Raw
ProtocolType.Tcp
支持
SocketType.Stream
。我将其更改为
newsocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp)
。现在它得到了一个新的异常“引用的对象类型不支持尝试的操作”Lol,这是我的错误
ProtocolType.Udp
同时支持
SocketType.Dgram
SocketType.Raw
,但我想写前者。你的应用程序的上下文是什么?我正在使用UDP编写一个套接字服务器和客户端。客户端将向服务器发送一些数据并回显。使用无连接协议,您不会侦听连接。使用该方法接收任何数据报。发送。如果
AddressFamily==AddressFamily.InterNetwork=>
SocketType.Raw
ProtocolType.Tcp
支持
SocketType.Stream
。我将其更改为
newsocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp)
。现在它得到了一个新的异常“引用的对象类型不支持尝试的操作”Lol,这是我的错误
ProtocolType.Udp
同时支持
SocketType.Dgram
SocketType.Raw
,但我想写前者。你的应用程序的上下文是什么?我正在使用UDP编写一个套接字服务器和客户端。客户端将向服务器发送一些数据并回显。使用无连接协议,您不会侦听连接。使用该方法接收任何数据报。发送。
var host = Dns.GetHostName();
var ip = Dns.GetHostEntry(host).AddressList[0];
var endPoint = new IPEndPoint(ip, port);
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
try
{
    socket.Bind(endPoint);
    socket.Listen(100);
    while (true)
    {
        Console.WriteLine("Waiting...");
        mre.Reset();
        socket.BeginAccept(new AsyncCallback(AccetCallBack), socket);
        mre.WaitOne();
    }