Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
1

WSARecv() failed with error 10038

05.08.2016, 20:24. Показов 1396. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить проблему, при попытке начать чтение получаю error 10038, использую порты завершения, но я думаю дело не в нем.

Вот создаю сокет и подключаюсь:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
clients[target].Socket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, NULL, WSA_FLAG_OVERLAPPED);
 
 
    sockaddr_in m_saddr;
    ZeroMemory(&m_saddr, sizeof(m_saddr));
 
    m_saddr.sin_family = AF_INET;
    m_saddr.sin_addr.s_addr = ipv4_addr;
    m_saddr.sin_port = port;
 
    if (connect(clients[target].Socket, (sockaddr*)&m_saddr, sizeof(m_saddr)) != SOCKET_ERROR)
    {
        clients[target].auth = true;
        clients[target].ID = *(unsigned int*)src;
        //loc_sock[target].delay = time(0);
 
        if (core <= 2)
            CreateIoCompletionPort((HANDLE)clients[target].Socket, iocp[0], 0, 0);
        else
            CreateIoCompletionPort((HANDLE)clients[target].Socket, iocp[target % (core-2)], 0, 0);
 
        return target;
    }
return -1;

Вот вызов WSArecv:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
LPPER_IO_OPERATION_DATA op = (LPPER_IO_OPERATION_DATA)GlobalAlloc(GPTR, sizeof(PER_IO_OPERATION_DATA));
    
    DWORD flags;
    unsigned long b;
    ZeroMemory(op, sizeof(PER_IO_OPERATION_DATA));
    op->op_type = PER_IO_OPERATION_DATA::op_type_recv;
    op->wsabuf.buf = op->buff;
    op->wsabuf.len = BUFF_SIZE - 6;
    flags = 0;
    if (WSARecv(clients[target].Socket, &(op->wsabuf), 1, &b, &flags, (OVERLAPPED*)op, NULL) == SOCKET_ERROR)
    {
        if (WSAGetLastError() != ERROR_IO_PENDING)
        {
            printf("WSARecv() failed with error %d\n", WSAGetLastError());
        }
        else
            printf("WSARecv() failed with error %d\n", WSAGetLastError());
    }
    else
        printf("WSARecv() is OK!\n");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2016, 20:24
Ответы с готовыми решениями:

Error 1 fatal error C1093: API call 'ImportFile' failed '0x80070003' : ErrorMessage:
// Lab7_1.cpp : main project file. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

Swift compiler error Command failed due to signal: Bus error: 10
Mavericks 10.9.5, VMWare 10.0.3, xCode 6.0.1 (вообще перепробовал все выпуски, в том числе и 6.1...

Android Studio - failed Error:CreateProcess error=193, %1
Здравствуйте. Знаю, что не в ту категорию, но не знаю, где спросить . Прошу заранее понять и...

Upload и Write to file failed. Ошибка: ADODB.Stream error '800a0bbc' Write to file failed.
Проблема вот в чем. Есть 3 компонента, и в админе каждого есть возможность загрузки файлов....

1
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
07.08.2016, 06:02 2
Цитата Сообщение от MousePro Посмотреть сообщение
WSARecv(clients[target].Socket, &(op->wsabuf), 1, &b, &flags, (OVERLAPPED*)op, NULL)
там вообще-то вроде бы как последним параметром адрес каллбека идет который вызывать по приходу данных.
0
07.08.2016, 06:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2016, 06:02
Помогаю со студенческими работами здесь

x264vfw [error]: x264_encoder_open failed
Почему-то VirtualDub-1.8.8 32bit на ноутбуке HP Pavilion dv6-1323er(Core 2 Duo T6600 2200 Mhz, RAM...

LDAP search failed with error 58
на сервере после команды dcdiag выводит такое сообщение LDAP search failed with error 58. В чем...

Push failed: remote: error:
Помогите решить проблему при заливке изменений на сервер (Push на Git). Выскакивает следующее...

VirtualBox: Installation failed! ERROR: 3
Скачал с официального сайта VirtualBox для Виндовса. При запуске файла...

Error: failed to push some refs (Git)
Попытался выложить свой первый проект на GitHub, но возникает магическая ошибка. Все делал в...

The compiler failed with error code 128.
WIN2000+SP2 SQLServer 2000 SP3 .NET Framework 1.0 приложение ASP.NET VB.NET Вот такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru