Вопрос по c#, sockets – была предпринята попытка получить доступ к сокету способом, запрещенным его правами доступа. Зачем?

34
 private void StartReceivingData(string ipAddress, int iPort)
    {
        try
        {
            if (!_bContinueReciving)
            {
                //initializeMainSocket(ipAddress, iPort);
                _mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);//<------HERE IS RAISED THE EXCEPTION
                _mSocket.Bind(new IPEndPoint(IPAddress.Parse(ipAddress), iPort));
                //  _mSocket.Bind(new IPEndPoint(IPAddress.Loopback, iPort));
                _mSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
                _mSocket.IOControl(IOControlCode.ReceiveAll, new byte[4] { 1, 0, 0, 0 }, new byte[4] { 0, 0, 0, 0 });
                //var 1
                _mSocket.BeginReceive(_buffReceivedData, 0, _buffReceivedData.Length, SocketFlags.None,
                                     new AsyncCallback(OnReceive), null);
                initializeLocalSocket();
            }
            else
            {
                _bContinueReciving = false;
                _mSocket.Close();
            }
        }
        catch (Exception exception)
        {
            Debug.WriteLine(exception);
        }
    }

Я не понимаю, почему ... это сработало, а сейчас - нет. кто-нибудь может мне помочь? я транслирую с vlc, и я хочу получать пакеты, делать некоторые отчеты и затем пересылать данные локально игроку

Если исключение происходит в CREATE, я ожидаю, что вам нужно работать от имени администратора для создания сокетов RAW. Jesse Chisholm
Я видел блок уAV с этим исключением: & gt; 01.02.2017 15:02:18 Заблокировано правилом блокировки портов F: \ Program & gt; Файлы \ AccessLayers \ PortNox \ Bin \ PortNoxSvc.exe Антивирусный стандарт & gt; Защита: Предотвратить массовую рассылку червей от отправки почты x.x.x.x: 25 user7365403
Сильно связаны, если не дубликатAn attempt was made to access a socket in a way forbidden by its access permissions Robotnik

Ваш Ответ

8   ответов
0

iisreset в командном окне исправил это для меня.

1

но я исправил ее, внеся некоторые изменения в настройку межсетевого экрана.

Вы можете выполнить следующие шаги

Go to "Start" --> "Control Panel"

Click on "Windows Firewall" enter image description here

Inside Windows Firewall, click on "Allow a program or feature through Windows Firewall" enter image description here

Now inside of Allow Programs, Click on "Change Settings" button. Once you clicked on Change Settings button, the "Allow another program..." button gets enabled. enter image description here

Click on "Allow another program..." button , a new dialog box will be opened. Choose the programs or application for which you are getting the socket exception and click on "Add" button. enter image description here

Click OK, and restart your machine.

Try to run your application (which has an exception) with administrative rights.

Надеюсь, это поможет.

Мир,

Солнечный Макоде

11

я даже не понимаю виновника этой проблемы. Но в моем случае проблема совершенно иная. Я пытался бежатьnetstat -o или жеnetstat -abоба показывают, что на данный момент нет порта, который прослушивает порт 62434, который пытается прослушать мое приложение. Так что это действительно смущает меня.

Я просто попытался подумать о том, что я сделал, чтобы он перестал работать (раньше он работал). Тогда я подумал о совместном использовании Интернета, которое я сделал на своем адаптере Ethernet с частной виртуальной локальной сетью (используя Hyper-v в Windows 10). Мне просто нужно было отключить обмен, и все снова заработало.

Надеюсь, что это помогает кому-то еще с той же проблемой. И, конечно, если кто-то может объяснить это, пожалуйста, добавьте больше подробностей в свой ответ или, возможно, в качестве комментария к моему ответу.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceedednetstatError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

которая возвращается, когда брандмауэр Windows блокирует порт (исходящий). У нас строгий веб-сервер, поэтому исходящие порты по умолчанию заблокированы. Все, что мне нужно было сделать, это создать правило, разрешающее номер порта TCP в файле wf.msc.

37

(WinSock) не позволит вам создать SocketType.RAW Socket без локального администратора. И помните, что вашему решению понадобятся повышенные привилегии для запуска, как и ожидалось!

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
40

netstat -o чтобы найти какой.

Error: User Rate Limit ExceededTCPViewError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededhelp.octopusdeploy.com/discussions/problems/…
Error: User Rate Limit Exceedednetstat -aoError: User Rate Limit Exceedednetstat -anoError: User Rate Limit Exceedednetstat -ano | find ":80"Error: User Rate Limit Exceeded
4

с помощью запуска dotnet, когда он пытался привязаться к порту.

Проблема была вызвана тем, что экземпляр Visual Studio 2017 был запущен с открытым проектом - я ранее запустил проект с помощью VS для отладки, и похоже, что он удерживался на порте, хотя отладка была завершена, и приложение казалось закрытым ,

Закрытие экземпляра Visual Studio и запуск & quot; запуска по сети Dotnet & quot; снова решил проблему.

0

когда мой компьютер обновился до Windows 10 юбилейного дополнения, и фактически уничтожил все мои настройки. Это было похоже на работу с новым компьютером, настройку всего для первого использования ... и вдруг я получил эту ошибку, когда мой код пытался использовать веб-сервис.

But the real culprit, and the solution in my case was that I needed to check the option to run in 64-bit.  Этот выбор был потерян в моем случае.

Инструменты - & gt; Параметры - & gt; Проекты и решения - & gt; Веб-проекты - & gt; & quot; Использовать 64-разрядную версию IIS Express для веб-сайтов и проектов & quot ;.

Похожие вопросы