Wsaewouldblock resource temporarily unavailable sap ошибка

Правила форума

ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP — сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) — сюда
Вопросы по LSMW — сюда
Вопросы по архивации в SAP — сюда
Вопросы по SAP GRC — сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office — сюда
Вопросы по miniSAP (SAP mini basis) — сюда
Вопросы по SAP HANA — сюда
Вопросы по лицензированию продуктов SAP — сюда

Автор Сообщение

Заголовок сообщения: Нет подключения к saprouter

СообщениеДобавлено: Вс, дек 21 2014, 16:34 

Начинающий
Начинающий



Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Пытаюсь зайти в SAP систему. Выдается ошибка partner …:3299 not reached (Err no 10035, Err txt WSAEWOULDBLOCK: Resource temporarily unavailable)
Проверяю IP SAPроутера — ping есть, trace проходит. telnet на порт 3299 выдает Connection timed out
Но, точно знаю что saprouter рабочий, так как в 1 одном случае из 4х коннект происходит:
2 разных роутера на работе, 1 роутер dlink dir320, 1 телефон в режиме модема.
Работает с 1 роутером на работе.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

шрам

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Вс, дек 21 2014, 16:38 



Зарегистрирован:
Чт, сен 28 2006, 11:36
Сообщения: 1365
Откуда: Москва
Пол: Мужской

Вы хвалитесь или жалуетесь?

Пометить тему как нерешенную

Вернуться к началу

Профиль  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 13:47 

Начинающий
Начинающий



Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Вопрос — на что нужно посмотреть, чтобы выявить причину такого поведения.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

basiscons

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 14:12 

Специалист
Специалист



Зарегистрирован:
Вт, июл 19 2011, 23:16
Сообщения: 130

на сеть, например. не стоит ли где на пути к 3299 порту сетевой фильтр, более известный как файрвол.

Пометить тему как нерешенную

Вернуться к началу

Профиль  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 16:01 

Начинающий
Начинающий



Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

как можно определить наличие фильтра? в случае сотовый телефон в режиме модема — файрвола нет, провайдер сотовой связи может блокировать порт?
или режим модема не все порты открывает?

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

RikoNw

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 17:16 



Зарегистрирован:
Пн, янв 14 2013, 10:37
Сообщения: 795
Пол: Мужской

80% проблем людей — проблемы понимания при общении. у вас там какие-то роутеры, вы через них как-то ходите, а потом через телефон ходите. то ли роутеры во вне смотрят, то ли телефон к местной wi-fi, то ли еще чего. Опишите обстановку точнее.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 18:31 

Начинающий
Начинающий



Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Ok. Есть saprouter для подключения к sap системе. У него публичный ip. Этот ip доступен при проверке утилитами ping, tracert. Я пытаюсь подключиться к нему с помощью sapgui. Не подключается. Варианты — закрыты порты на роутере. Либо фильтруется провайдером. Вот и возник вопрос, каким образом можно найти что блокирует доступ? А в первом посте я написал о том, что подключение работает в одном из четырех разных выходах в интернет.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter  Тема решена

СообщениеДобавлено: Пн, дек 22 2014, 20:31 

Начинающий
Начинающий



Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

вопрос закрыт. Прошу прощения, но все заработало само собой.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

Hello,

I have spent quit a bit of time figuring out why I am unable to connect to minisap trail system installed on virtual machine. I always got error “ partner 192.168.x.x:sapdp00 not reached” when try to connect from host system. When I checked details of error I see ” wsaewouldblock: resource temporarly unavailable “. I was able to connect to the same system being with in virtual system in both ways like specifying “192.x.x.xx” and “localhost” as application server. I searched a lot to find solution but could not quit understand what exactly the resolution for it ( at least me ). Even though there are some threads where it is mentioned to turn off the firewall, but it wasn’t quit helpful for some of the people on how to turn off the firewall. So I thought I can put together some info in blog with detailed screen shots on how to turn off.

I have installed Oracle Virtual Machine on Windows 10 with Windows 2008 R2 Standard on VM.

So before the fix I was getting this below error.

image 1.png

Now with in the VM OS, Click Start->Administrative Tools -> Windows Firewall with Advanced Security as shown below.

/wp-content/uploads/2016/07/image_998565.jpg

Now there the three different tabs where you need to turn off . Follow all the three screen shots.

image 2.jpg

image 4.jpg

image 5.jpg

Finally click “Apply” and “OK”.

Now go back to SAP Logon pad on Host OS and specify the IP address of VM as shown below.

image 6.jpg

Thats it. you should able to see logon screen if the issue is really because of firewall issue.

Now, There are otherways to open the requests from host OS to VM OS by specifying inbound and outbound rules on firewall settings.

I leave the inbound and outbound rules way to those who are good take on networking.

Hope this might help…enjoy..

Thanks,

Amara.

Правила форума

ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP — сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) — сюда
Вопросы по LSMW — сюда
Вопросы по архивации в SAP — сюда
Вопросы по SAP GRC — сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office — сюда
Вопросы по miniSAP (SAP mini basis) — сюда
Вопросы по SAP HANA — сюда
Вопросы по лицензированию продуктов SAP — сюда

Автор Сообщение

Заголовок сообщения: Нет подключения к saprouter

СообщениеДобавлено: Вс, дек 21 2014, 16:34 

Начинающий
Начинающий

Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Пытаюсь зайти в SAP систему. Выдается ошибка partner …:3299 not reached (Err no 10035, Err txt WSAEWOULDBLOCK: Resource temporarily unavailable)
Проверяю IP SAPроутера — ping есть, trace проходит. telnet на порт 3299 выдает Connection timed out
Но, точно знаю что saprouter рабочий, так как в 1 одном случае из 4х коннект происходит:
2 разных роутера на работе, 1 роутер dlink dir320, 1 телефон в режиме модема.
Работает с 1 роутером на работе.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

шрам

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Вс, дек 21 2014, 16:38 

Зарегистрирован:
Чт, сен 28 2006, 11:36
Сообщения: 1365
Откуда: Москва
Пол: Мужской

Вы хвалитесь или жалуетесь?

Пометить тему как нерешенную

Вернуться к началу

Профиль  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 13:47 

Начинающий
Начинающий

Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Вопрос — на что нужно посмотреть, чтобы выявить причину такого поведения.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

basiscons

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 14:12 

Специалист
Специалист

Зарегистрирован:
Вт, июл 19 2011, 23:16
Сообщения: 130

на сеть, например. не стоит ли где на пути к 3299 порту сетевой фильтр, более известный как файрвол.

Пометить тему как нерешенную

Вернуться к началу

Профиль  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 16:01 

Начинающий
Начинающий

Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

как можно определить наличие фильтра? в случае сотовый телефон в режиме модема — файрвола нет, провайдер сотовой связи может блокировать порт?
или режим модема не все порты открывает?

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

RikoNw

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 17:16 

Зарегистрирован:
Пн, янв 14 2013, 10:37
Сообщения: 795
Пол: Мужской

80% проблем людей — проблемы понимания при общении. у вас там какие-то роутеры, вы через них как-то ходите, а потом через телефон ходите. то ли роутеры во вне смотрят, то ли телефон к местной wi-fi, то ли еще чего. Опишите обстановку точнее.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter

СообщениеДобавлено: Пн, дек 22 2014, 18:31 

Начинающий
Начинающий

Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

Ok. Есть saprouter для подключения к sap системе. У него публичный ip. Этот ip доступен при проверке утилитами ping, tracert. Я пытаюсь подключиться к нему с помощью sapgui. Не подключается. Варианты — закрыты порты на роутере. Либо фильтруется провайдером. Вот и возник вопрос, каким образом можно найти что блокирует доступ? А в первом посте я написал о том, что подключение работает в одном из четырех разных выходах в интернет.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

nrv

Заголовок сообщения: Re: Нет подключения к saprouter  Тема решена

СообщениеДобавлено: Пн, дек 22 2014, 20:31 

Начинающий
Начинающий

Зарегистрирован:
Чт, янв 16 2014, 10:41
Сообщения: 14

вопрос закрыт. Прошу прощения, но все заработало само собой.

Пометить тему как нерешенную

Вернуться к началу

Профиль Отправить email  

>
Ошибка сокета: WSAEWOULDBLOCK
, Из-за чего? Как Избежать?

  • Подписаться на тему
  • Сообщить другу
  • Скачать/распечатать тему



Сообщ.
#1

,
13.02.06, 10:33

    Senior Member

    ****

    Рейтинг (т): 15

    Добрый день.

    Возникла такая проблема: я создаю обычный блокирующий сокет и пытаюсь передать в цикле буфер message:

    ExpandedWrap disabled

      int shift = 0,

          sending_len = 0,

          sent_count = 0,

          msg_len = 0,

          err_code = 0;

      BYTE message[MESSAGE_LEN] = {0};

      //составление message и получение msg_len

      …………..

      while(shift < msg_len) {

          if(shift + SENDING_SUBPART_SIZE < msg_len)

              sending_len = SENDING_SUBPART_SIZE;

          else

              sending_len = msg_len — shift;

          sent_count = send(sock, (char*)(message + shift), sending_len, 0);

          if( sent_count != sending_len ){

              err_code = WSAGetLastError();

              Sleep(100);

              continue;

          }

          shift += sending_len;

      }

    Цикл, вообщем, отрабатывает, но довольно часто send возвращает -1, а WSAGetLastError — WSAEWOULDBLOCK.
    В МСДНе пишут:

    Цитата

    A non-blocking socket operation could not be completed immediately.

    Но как избавиться от ошибки я так и не понял. Если кто-нибудь встречался с подобным, подскажите пожалуйста, как избавиться.
    ———————————
    WinXP, VS .NET

    Сообщение отредактировано: sham6215 — 13.02.06, 10:35


    Ace



    Сообщ.
    #2

    ,
    13.02.06, 12:41

      Чаше всего такое происходит, когда принимающая сторона не успевает считывать данные. Либо переходи на асинхр. работу с сокетами и с удобствами FD_WRITE для таких затыков. Либо придумывай таймаут на всю операцию отсылки, и в случае блокирования сокета пытайся отправлять до истечения этого таймаута. Причем, учитывай ещё один не маловажный момент — в мсдн есть предупреждение, что в случае НЕ успеха операции send (истечение сокетного таймаута), состояние сокета становится НЕ предсказуемым и дальнейшая работа с ним НЕ рекомендуется :)


      LuckLess



      Сообщ.
      #3

      ,
      13.02.06, 12:46

        а зачем ты отправляешь буффер кусками?
        Отправляй все сразу , стек сам разобъет пакет на нужное число..


        sham6215



        Сообщ.
        #4

        ,
        13.02.06, 13:15

          Senior Member

          ****

          Рейтинг (т): 15

          Ace, ок, спасибо. У меня кстати, недавно возникал вопрос, зачем вообще нужен FD_WRITE :) . Теперь ясно.

          LuckLess, а если у меня буфер боьшой — несколько мегабайт, то всё равно передавать в send весь буфер и всё будет ок?

          Я проверил. Всё замечательно бьётся и WSAEWOULDBLOCK перестал появляться.

          Сообщение отредактировано: sham6215 — 13.02.06, 14:36


          LuckLess



          Сообщ.
          #5

          ,
          13.02.06, 14:57

            Цитата

            For message-oriented sockets, care must be taken not to exceed the maximum packet size of the underlying provider, which can be obtained by using getsockopt to retrieve the value of socket option SO_MAX_MSG_SIZE. If the data is too long to pass atomically through the underlying protocol, the error WSAEMSGSIZE is returned, and no data is transmitted.

            зависит от используемого протокола..
            какой сокет у тебя?

            Добавлено 13.02.06, 14:58
            форум чтото подвисает…


            Oleg2004



            Сообщ.
            #6

            ,
            13.02.06, 15:33

              sham6215

              Цитата

              а если у меня буфер большой

              send() и будет «висеть», пока все не передаст
              Согласно Стивенсу:
              «Когда приложение вызывает функцию write()[читай send()], ядро копирует данные из буфера приложения в буфер отправки сокета. Если для всех данных приложения недостаточно места в буфере сокета (либо буфер приложения больше буфера отправки сокета, либо в буфере отправки сокета уже имеются данные), этот процесс приостанавливается (переходит в состояние ожидания — те висит.) Подразумевается, что мы используем обычный блокируемый сокет»
              Мне почему то кажется, что ваша проблема в (message + shift)
              Для разбивки буфера на две и более частей в Unix используют writev()
              В Windows — это WSASend() + надо заказывать winsock 2.0


              LuckLess



              Сообщ.
              #7

              ,
              13.02.06, 15:39

                Oleg2004
                а разве для connection-orientied протоколов send() автоматом большой буфер на части не разложит?


                Oleg2004



                Сообщ.
                #8

                ,
                13.02.06, 15:48

                  LuckLess
                  Думаю нет — у него руки связаны.
                  Он должен как чурка переслать все что в его буфере — в буфер TCP — и он это делает «своими» частями — указывает наверно индекс и «ползет по памяти» и тд — но никогда не разбивает.
                  За сколько времени — ему тоже все равно, и возвратит управление только тогда, когда все отослано.
                  А -1 — это только чисто при ошибке, и проверка тут на длину я думаю ничего полезного не даст.
                  А тут (message + shift) — я не могу точно сказать, как это будет интерпретироваться


                  LuckLess



                  Сообщ.
                  #9

                  ,
                  13.02.06, 15:51

                    Oleg2004
                    странно тогда что пишут

                    Цитата

                    For message-oriented sockets

                    вечерком попробую…


                    sham6215



                    Сообщ.
                    #10

                    ,
                    14.02.06, 14:07

                      Senior Member

                      ****

                      Рейтинг (т): 15

                      Цитата LuckLess @ 13.02.06, 14:57

                      зависит от используемого протокола..
                      какой сокет у тебя?

                      Обычный блокирующий сокет. Протокол TCP (SOCK_STREAM).

                      Цитата Oleg2004 @ 13.02.06, 15:33

                      В Windows — это WSASend() + надо заказывать winsock 2.0

                      Значит ли это, что в Windows следует отказываться от send в пользу WSASend?

                      Цитата LuckLess @ 13.02.06, 15:39

                      а разве для connection-orientied протоколов send() автоматом большой буфер на части не разложит?

                      Цитата Oleg2004 @ 13.02.06, 15:48

                      Думаю нет — у него руки связаны.

                      Я проверял снифером прогу (которая является прототипом того, что делаю я) и увидел, что буфер разбивается на части. По-этому и затеял всё с разбивкой буфера. А когда стал передавать буфер целиком, то результат получился такой же, как в программе-прототипе (снифер показал, что моё сообщение отправляется несколькими пакетами) и исчезли ошибки.

                      Цитата Oleg2004 @ 13.02.06, 15:48

                      А тут (message + shift) — я не могу точно сказать, как это будет интерпретироваться

                      message — буфер, shift — количество байт уже переданных. (message + shift) — адрес, с которого следует считывать данные. Тут, ИМХО, всё нормально.


                      Oleg2004



                      Сообщ.
                      #11

                      ,
                      14.02.06, 17:54

                        sham6215

                        Цитата

                        А когда стал передавать буфер целиком, то результат получился такой же, как в программе-прототипе (снифер показал, что моё сообщение отправляется несколькими пакетами) и исчезли ошибки.

                        Что и требовалось доказать :yes:
                        Если ваш TCP-сегмент меньше чем 1460 байт — все уйдет в одном IP- пакете — если вы находитесь в сети Ethernet — все зависит от MTU сети.
                        Если больше чем 1460б — тогда send() из своего буфера — цельного — сам, без вашей помощи, нарезает куски нужной длины и отдает в буфер модуля TCP
                        Вы должны точно себе представлять — буфер send() — сам по себе — это буфер программы пользовательского уровня
                        А буфер TCP — это буфер системный, и на него можно влиять только через setsockopt()

                        Цитата

                        Значит ли это, что в Windows следует отказываться от send в пользу WSASend?

                        Cовсем не значит. send() прекрасно работает в Windows.
                        WSASend() имеет просто несколько важных преимуществ, первое из которых — это асинхронная функция, а второе — больше параметров — значит возможностей.
                        А также надо иметь в виду, что в Windows 6 моделей сетевого ввода/вывода, и для некоторых можно работать только с WSASend() — например модель с перекрытием overlapped I/O (или ее самый мощный вариант — completion port) — вы запускаете на одном сокете несколько WSASend() одновременно.

                        Цитата

                        message — буфер, shift — количество байт уже переданных. (message + shift) — адрес, с которого следует считывать данные. Тут, ИМХО, всё нормально.

                        Тут как раз ненормально :yes:
                        Вы пытаетесь в функции send() реализовать ее-же функциональность — подсказать send(), откуда надо работать — нонсенс.
                        Она сама это прекрасно знает — что вы думаете, ее ламеры делали??? :wacko:

                        Сообщение отредактировано: Oleg2004 — 14.02.06, 17:58


                        sham6215



                        Сообщ.
                        #12

                        ,
                        15.02.06, 09:28

                          Senior Member

                          ****

                          Рейтинг (т): 15

                          Цитата Oleg2004 @ 14.02.06, 17:54

                          Она сама это прекрасно знает — что вы думаете, ее ламеры делали???

                          :no: , нет, просто не знал, что:

                          Цитата Oleg2004 @ 14.02.06, 17:54

                          Если больше чем 1460б — тогда send() из своего буфера — цельного — сам, без вашей помощи, нарезает куски нужной длины и отдает в буфер модуля TCP

                          Спасибо, за исчерпывающее объяснение.


                          LuckLess



                          Сообщ.
                          #13

                          ,
                          15.02.06, 10:15

                            Цитата sham6215 @ 14.02.06, 14:07

                            Я проверял снифером прогу (которая является прототипом того, что делаю я) и увидел, что буфер разбивается на части. По-этому и затеял всё с разбивкой буфера. А когда стал передавать буфер целиком, то результат получился такой же, как в программе-прототипе (снифер показал, что моё сообщение отправляется несколькими пакетами) и исчезли ошибки.

                            хорошо что отписал.
                            а то у меня все времени небыло проверить))).

                            Oleg2004

                            Цитата Oleg2004 @ 14.02.06, 17:54

                            Если больше чем 1460б — тогда send() из своего буфера — цельного — сам, без вашей помощи, нарезает куски нужной длины и отдает в буфер модуля TCP

                            а под nix-ами другой результат будет?


                            Oleg2004



                            Сообщ.
                            #14

                            ,
                            15.02.06, 13:27

                              LuckLess

                              Цитата

                              а под nix-ами другой результат будет?

                              Не думаю — ведь send() — это юниксовая функция
                              Просто портирована в Windows

                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                              0 пользователей:

                              • Предыдущая тема
                              • C/C++: Общие вопросы
                              • Следующая тема

                              [ Script execution time: 0,0747 ]   [ 16 queries used ]   [ Generated: 29.01.23, 03:29 GMT ]  

                              SAP on single Windows Server.

                              For Me through VPN:

                              1. I can ping both the IP address and domain.
                              2. I can connect to SAPGUI.
                              3. When I telnet to IP Port 3200, get a black screen.
                              4. «netstat -a» is slow, but executes, but «netstat -an» is instantaneous.

                              My developer through VPN:

                              1. Can ping both IP and domain, but can’t connect through SAPGUI from two different machines.
                              2. Have tested with all firewalls (server and client) off — doesn’t work.

                              Hosts file on server correctly has entry for domain. Services file has entry for sapdp00:3200 .

                              Reviewed both 124562 Hostname resolution problems (DNS timeouts) and 23538 Problems due to inconsistent host name notation but don’t know that I’ve got a good answer.

                              I’m not a network guy (or really Basis). Hoping someone can give me some pointers of what to look for.

                              Thanks in advance.

                              SAP on single Windows Server.

                              For Me through VPN:

                              1. I can ping both the IP address and domain.
                              2. I can connect to SAPGUI.
                              3. When I telnet to IP Port 3200, get a black screen.
                              4. «netstat -a» is slow, but executes, but «netstat -an» is instantaneous.

                              My developer through VPN:

                              1. Can ping both IP and domain, but can’t connect through SAPGUI from two different machines.
                              2. Have tested with all firewalls (server and client) off — doesn’t work.

                              Hosts file on server correctly has entry for domain. Services file has entry for sapdp00:3200 .

                              Reviewed both 124562 Hostname resolution problems (DNS timeouts) and 23538 Problems due to inconsistent host name notation but don’t know that I’ve got a good answer.

                              I’m not a network guy (or really Basis). Hoping someone can give me some pointers of what to look for.

                              Thanks in advance.

                              SAPDHI:sapdp00 not reached and WSAEWOULDBLOCK : Resource Temporarily unavailable

                              I have installed a SAP ERP 6.0 on SUSE with Maxdb. The installation was concluded with successful. I have started SAP instance with the command startsap all and I could see that the Instance is look like working. 

                              From a workstation, I am getting to ping the server but when I try to use SAP GUI, I am getting an error saying : 

                              «SAPDHI:sapdp00» not reached 

                              Component : NI (Network Interface) 

                              Module : nibuf.cpp 

                              Line 4658 

                              Method NiBuf!ConnetÇ connection pending after 10000ms 

                              Return code : -10 

                              Error No : 10035 

                              Error Text : WSAEWOULDBLOCK : Resource Temporarily unavailable 

                              To check if the system is working I have executed the following command ps -ef | grep dw.sap  and the result was : 

                              SAPDHI:/ # ps -ef | grep dw.sap 
                              dhiadm 27676 27631 0 21:56 ? 00:00:02 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28023 27676 0 21:56 ? 00:00:02 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28026 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28030 27676 0 21:56 ? 00:00:01 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28036 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28039 27676 0 21:56 ? 00:00:01 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28080 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28081 27676 0 21:56 ? 00:00:01 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28083 27676 0 21:56 ? 00:00:04 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28086 27676 0 21:56 ? 00:00:01 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28087 27676 0 21:56 ? 00:00:05 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28093 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28103 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28109 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28110 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28117 27676 0 21:56 ? 00:00:01 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              dhiadm 28120 27676 0 21:56 ? 00:00:00 dw.sapDHI_DVEBMGS00 pf=/usr/sap/DHI/SYS/profile/DHI_DVEBMGS00_SAPDHI 
                              root 29089 5024 0 22:26 pts/0 00:00:00 grep dw.sap 
                              SAPDHI:/ # 

                              продолжатьTCPСетевое программирование, использованиеsend()Когда функция отправляет данные, она иногда встречаетWSAEWOULDBLOCKНеправильно, что это за хрень?

                              Пример кода

                                  iResult = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 );
                                  if (iResult == SOCKET_ERROR)
                                  {
                                     int nLastError = WSAGetLastError();
                                     if (WSAEWOULDBLOCK == nLastError )
                                     {
                                          ...
                                     }
                                      ...
                                  }
                              

                              WSAEWOULDBLOCK

                              WSAEWOULDBLOCK
                              10035
                              Resource temporarily unavailable.
                              This error is returned from operations on nonblocking sockets that cannot be completed immediately, for example recv when no data is queued to be read from the socket.
                              It is a nonfatal error, and the operation should be retried later.
                              It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a nonblocking SOCK_STREAM socket, since some time must elapse for the connection to be established.

                              WSAEWOULDBLOCKЭто не фатальная ошибка, и соответствующие операции следует повторить позже.

                              Анализ причин

                              WSAEWOULDBLOCK is not really an error but simply tells you that your send buffers are full.
                              This can happen if you saturate the network or if the other side simply doesn’t acknowledge the received data. Take a look at the select() function, which allows you to wait until buffer space is available or a timeout occurs. There is also a way to bind a win32 event to a stream, which then allows its use with WaitForMultipleObjects in case you want to abort waiting early.

                              Буфер ядра окна, который должен быть отправлен, заполнен и может быть отправлен только при наличии свободного времени.

                              Решение:

                              • Перед отправкой поспите
                              while(nRet == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK)
                              {
                                  Sleep(50);
                                  nRet = send(...);
                              }
                              

                              Этот тип мышления лучше всего складывать суждение о количестве раз, например, если более 20 раз, передача считается неудачной.

                              • Увеличиватьsocketизkernel buffer
                              SOCKET ConnectSocket = ...
                              ...
                              int nRcvBufferLen = 1024*1024;
                              int nSndBufferLen = 4*1024*1024;
                              int nLen          = sizeof(int);
                              setsockopt(ConnectSocket, SOL_SOCKET, SO_RCVBUF, (char*)&nRcvBufferLen, nLen);
                              setsockopt(ConnectSocket, SOL_SOCKET, SO_SNDBUF, (char*)&nSndBufferLen, nLen);
                              

                              При отправке аудио и видео, еслиSO_SNDBUFЕсли настройка слишком мала, когда сетевая среда плохая, экран будет размытым (данные будут отправлены слишком поздно), и это явление не произойдет, если сетевая среда хорошая.

                              References:

                              https://msdn.microsoft.com/en-us/library/ms740149(VS.85).aspx
                              https://msdn.microsoft.com/en-us/library/ms740668(v=vs.85).aspx#WSAEWOULDBLOCK
                              http://www.cnblogs.com/chengxin1982/archive/2009/12/24/1631067.html
                              http://stackoverflow.com/questions/14546362/how-to-resolve-wsaewouldblock-error
                              https://bobobobo.wordpress.com/2008/11/09/resolving-winsock-error-10035-wsaewouldblock/

                              Symptom

                              When try to login to the SAP system, you receive below error.

                              Solution

                              • Ping/tracert to the operating system.
                              • Check the SAPROUTER is working fine.
                              • Check the firewall is allowing the connection
                              • Confirm the port is open for connection (Telnet )
                              • Login to the OS and check the SAP processes are running. (SAPMMC or ps -ef)

                              resource not available wsaewouldblock

                              You May Also Like

                              продолжатьTCPСетевое программирование, использованиеsend()Когда функция отправляет данные, она иногда встречаетWSAEWOULDBLOCKНеправильно, что это за хрень?

                              Пример кода

                                  iResult = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 );
                                  if (iResult == SOCKET_ERROR)
                                  {
                                     int nLastError = WSAGetLastError();
                                     if (WSAEWOULDBLOCK == nLastError )
                                     {
                                          ...
                                     }
                                      ...
                                  }
                              

                              WSAEWOULDBLOCK

                              WSAEWOULDBLOCK
                              10035
                              Resource temporarily unavailable.
                              This error is returned from operations on nonblocking sockets that cannot be completed immediately, for example recv when no data is queued to be read from the socket.
                              It is a nonfatal error, and the operation should be retried later.
                              It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a nonblocking SOCK_STREAM socket, since some time must elapse for the connection to be established.

                              WSAEWOULDBLOCKЭто не фатальная ошибка, и соответствующие операции следует повторить позже.

                              Анализ причин

                              WSAEWOULDBLOCK is not really an error but simply tells you that your send buffers are full.
                              This can happen if you saturate the network or if the other side simply doesn’t acknowledge the received data. Take a look at the select() function, which allows you to wait until buffer space is available or a timeout occurs. There is also a way to bind a win32 event to a stream, which then allows its use with WaitForMultipleObjects in case you want to abort waiting early.

                              Буфер ядра окна, который должен быть отправлен, заполнен и может быть отправлен только при наличии свободного времени.

                              Решение:

                              • Перед отправкой поспите
                              while(nRet == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK)
                              {
                                  Sleep(50);
                                  nRet = send(...);
                              }
                              

                              Этот тип мышления лучше всего складывать суждение о количестве раз, например, если более 20 раз, передача считается неудачной.

                              • Увеличиватьsocketизkernel buffer
                              SOCKET ConnectSocket = ...
                              ...
                              int nRcvBufferLen = 1024*1024;
                              int nSndBufferLen = 4*1024*1024;
                              int nLen          = sizeof(int);
                              setsockopt(ConnectSocket, SOL_SOCKET, SO_RCVBUF, (char*)&nRcvBufferLen, nLen);
                              setsockopt(ConnectSocket, SOL_SOCKET, SO_SNDBUF, (char*)&nSndBufferLen, nLen);
                              

                              При отправке аудио и видео, еслиSO_SNDBUFЕсли настройка слишком мала, когда сетевая среда плохая, экран будет размытым (данные будут отправлены слишком поздно), и это явление не произойдет, если сетевая среда хорошая.

                              References:

                              https://msdn.microsoft.com/en-us/library/ms740149(VS.85).aspx
                              https://msdn.microsoft.com/en-us/library/ms740668(v=vs.85).aspx#WSAEWOULDBLOCK
                              http://www.cnblogs.com/chengxin1982/archive/2009/12/24/1631067.html
                              http://stackoverflow.com/questions/14546362/how-to-resolve-wsaewouldblock-error
                              https://bobobobo.wordpress.com/2008/11/09/resolving-winsock-error-10035-wsaewouldblock/

                              Понравилась статья? Поделить с друзьями:
                            • Ws5 ошибка мегафон приложение
                            • Wudfusbcciddrv ошибка 11 windows 10
                            • Wsl ошибка при выполнении приложения сервера
                            • Wow ошибка недостаточно памяти для обработки команды
                            • Ws1ci ошибка 106