Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Мотороллер
432 / 243 / 43
Регистрация: 05.08.2013
Сообщений: 1,666
Завершенные тесты: 1
1

Странное поведение WSA send

25.03.2017, 23:08. Просмотров 216. Ответов 4
Метки нет (Все метки)

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
bool wsaSendRequest(String serverAddr, unsigned int port, String data)
{
    WSADATA wsaData;
    WORD wVersionRequested;
    int err;
 
    wVersionRequested = MAKEWORD(2, 2);
    err = WSAStartup(wVersionRequested, &wsaData);
    if (err != 0)
        return false;
 
    SOCKET fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (fd < 0)
        return false;
 
    SOCKADDR_IN service;
    service.sin_family = AF_INET;
    service.sin_port = htons(port);
    serverAddr.decrypt();
    LPHOSTENT host = gethostbyname(serverAddr.c_str());
    serverAddr.encrypt();
 
    if (!host)
        return false;
 
    service.sin_addr = *((LPIN_ADDR)*host->h_addr_list);
 
    if (connect(fd, (SOCKADDR *)&service, sizeof(service)) < 0)
        return false;
    
    int sended = send(fd, data.c_str(), data.length(), 0);   // ВОТ ТУТ МАГИЯ
    shutdown(fd, 1); //SD_SEND
 
    char *buffer = new char[1024 * 50];
    recv(fd, buffer, 1024 * 50 - 1, 0);
    delete [] buffer;
    
    closesocket(fd);
    return true;
}
магия следующая: запускаю прогу по F5 - все компилируется, запускается, но запрос на сервак не приходит
затем ставлю бряк на send и по F10 шлю запрос - запрос пришел на сервак О_О
затем добавляю после send мсгбокс с количеством отправленных байт, пускаю по F5 - запрос ушел, кол-во байт нормальное О_О
затем убираю мсгбокс, пускаю в свободное плаванье по F5 - запрос не приходит на сервак О_О WTF?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2017, 23:08
Ответы с готовыми решениями:

Странное поведение new
Объясните почему оператор new выделяет неверное количество памяти? # include &lt;iostream&gt; using...

Странное поведение
Здравствуйте еще раз :) Теперь возникла другая непонятка. Есть класс StringParser, объекты которого...

Странное поведение кода
int x; cout &lt;&lt; (x = 1) + (x = 2) + (x = 3); У меня выводит 7 (вместо 6). Почему?!?!

Странное поведение cin
Есть класс, в нем есть два текстовых private члена, friend-оператор&gt;&gt; и friend-функция getline для...

Странное поведение компилятора
Всем привет! Я конечно понимаю что нужно выкладывать минимальный код повторяющий мою проблему но он...

4
Убежденный
Ушел с форума
Эксперт С++
16147 / 7294 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
26.03.2017, 08:40 2
Запусти сервер-заглушку на localhost и пускай пишет в консоль или в лог
все события: прием входящих подключений, прием-отправку байт и т.д.
С таким сервером тоже не работает? И что, совсем никаких данных не приходит?
0
Мотороллер
432 / 243 / 43
Регистрация: 05.08.2013
Сообщений: 1,666
Завершенные тесты: 1
26.03.2017, 09:23  [ТС] 3
Убежденный, сервак находится в моей локальной сети на другом ПК. Там логи пустые. Вообще ничего...
0
Убежденный
Ушел с форума
Эксперт С++
16147 / 7294 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
26.03.2017, 09:32 4
И что получается, connect на этот сервак тоже не отрабатывает?
0
Мотороллер
432 / 243 / 43
Регистрация: 05.08.2013
Сообщений: 1,666
Завершенные тесты: 1
26.03.2017, 10:14  [ТС] 5
connect не логируется. сервак от Ruby on Rails. Понял что ты хочешь, попробую сделать. а вообще вся функция true возвращает. как-будто все ОК

Добавлено через 40 минут
на nginx запросы приходят норм
0
26.03.2017, 10:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2017, 10:14

Странное поведение строки
Есть класс со связным списком(в связных списках символы)(файл1). Перегружаю оператор сложения для...

Странное поведение транслятора
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual...

Странное поведение указателей
Здравствуйте, может кто-нибудь объяснить столь странное поведение указателя. Вот код. int...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru