На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
    > Сокеты! , я думаю я не первый
      Цитата DINETS @
      ...вобще замечание оффтоп так как НИЧЕГО неприходит! да я знаю что в пакеты оно группируется но тут это вобще не к месту оно рвётся чегото!!!!...

      1) что значит оффтоп? т.е. до этого куска кода не доходит? почему тогда вводите в заблуждение надписью что работает до сих пор? Просто так поприкалываться захотелось?
      2) в пакеты ПРИ ЮЗАНЬЕ TCP слоя как раз НЕ формируются. потому как НЕТ ПОНЯТИЯ ПАКЕТЫ...есть понятие ПОТОК..почуствуйте разницу...
      3) Приведённый код НЕ РАБОЧИЙ...
      4) Расшифруйте термин "рвёться". где, что рвёться. помню у одного человека тут не рвалось пол года...но то другая история...

      происходит эксепшен...
      с чего вы взяли что рвёться? нет такого понятия в МСДНе...
      есть при вызове функции(метода) такого то, возврат такой...должно быть(ожидаю) такой...
      сделал то-то и то-то...включил анализатор...приходят(не приходят) пакеты такие то...

      а то какое то гадание на кофейне...

      удачи Вам
      (круглый)
      ЗЫ
      Заметьте время теряется из за недопонимания...
      ЗЫ ЗЫ
      детский сад...
        Цитата DINETS @
        всё начал понимать повторный вызов рецив (после удачного) возвращает WSAENOTCONN (10057)
        "
        Socket is not connected.
        A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using sendto) no address was supplied. Any other type of operation might also return this error - for example, setsockopt setting SO_KEEPALIVE if the connection has been reset.
        "
        я понял что нада сделать КИП ЭЛАЙВ хорошо
        а если без этого как сделать реконект?

        я чо на инопланетном говорю или тут у когото мозг в черепе не вмещается???!


        ExpandedWrap disabled
          err=      recv(s,buf,len,0);
          err=WSAGetLastError ();

        при приёме не входя в цикл (при маленьком файле хотя в цикле тоже)

        вот тут ошибка!
        и всё больше негде и КОД РАБОЧИЙ!
        Сообщение отредактировано: DINETS -
          вот
          Прикреплённый файлПрикреплённый файлftrans.rar (31.47 Кбайт, скачиваний: 176)
            Давайте только не будем горячиться.....
            Ваши объяснения порой действительно трудно понять
            Итак
            Вы выполняете:
            err= recv(s,buf,len,0);
            и recv() вылетает с ошибкой, что фиксирует:
            err=WSAGetLastError ();
            те err=10057
            Так что ли?
            Кстати, так сетевые программы не рекомендуется писать, надо примерно так:
            ExpandedWrap disabled
              // connect to server
              if ( connect( sock, (sockaddr*) &addr, sizeof( sockaddr ) ) == SOCKET_ERROR )
                  {
                      int error = WSAGetLastError( );
                      if ( ( error != WSAEWOULDBLOCK ) && ( error != WSAEINPROGRESS ) )
                      {
                      fprintf( stderr, "Failed connecting to remote host, %d\n", error );
                      closesocket(sock);
                      exit( 1 );
                      }
                  }

            или так
            ExpandedWrap disabled
               if ((numbytes = recv(sock, buff, MAXDATASIZE, 0)) == SOCKET_ERROR)
                    cout << "recv fail with code " << WSAGetLastError() << endl;

            И еще
            ошибочный recv() этот выполняется в серверном варианте или клиентском?
            Я же вас просил - уберите все коменты (трудно отслеживать ваш код, вы же просите помочь, а сами навстречу не идете)и точно укажите тот recv() - их ведь у вас куча - после которого вылетает ошибка.

            Добавлено
            Нда......
            Посмотрел на ваш проект......... <_<
              Цитата
              ошибочный recv() этот выполняется в серверном варианте или клиентском?

              да в серверной части ОН Батон 1 яж писал выше

              Добавлено
              ну а сам проэкт работает? а то тут некоторые....
                Значит, соединение с сервером установлено было
                и accept() прошел
                А recv() вы делаете на акцептированном сокете?
                те на сокете, который вернула функция аксепт?
                  ЧОРТ я идиот
                  !!!
                  спасибо я ся долбить ща обстену буду блин
                  :wall: :wall: :wall: :wall: :wall:


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

                  Добавлено
                  ..
                    Цитата DINETS @
                    ну а сам проэкт работает? а то тут некоторые....

                    попробуйте прогнать несколько сот метров с одного компа на другой. при этом ещё запустите копирование на передатчике или приёмнике с локального диска на локальный диск...
                    полученный файл проверьте...лучше какой нить архив прогоните и запустите верифай...

                    после того как признаете свою горячность - объясню в чём дело более подробно...

                    удачи Вам
                    (круглый)
                    ЗЫ
                    извинения принимаются...все мы такие...
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0284 ]   [ 16 queries used ]   [ Generated: 10.12.24, 10:24 GMT ]