следующее утверждение
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
Тем не менее, это работает, если я изменю ProtocolType
на Tcp
?
Я использую Windows 10 с Visual Studio 2019.
Обновление:
Я изменил код для инициализации сокета. Теперь он получает исключение на линии socket.Bind(endPoint);
.
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();
}
Необработанное исключение: System.Net.Sockets.SocketException: предпринятая операция не поддерживается для типа объекта, на который ссылается