Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как получить не константную C style строку из string? https://www.cyberforum.ru/ cpp/ thread2830387.html
Пишу метод, который записывает содержимое текстового файла в C строку. Проблема в том, что std::string.c_str() возвращает константную переменную, а мне это не желательно. Как получить не константную C'шную строку из std::string? Добавлено через 1 минуту Вот код void readFile(char** data, string fileName) { ifstream file(fileName); std::string...
Задача о цепочках аминоаксидов C++
Добрый день. Задача заключается в том, что генерирую себе текстовый файл FILE_1 и FILE_2 в котором есть цепочка из заглавных букв латинского алфавита, от A -> T. Количество букв может быть в диапазоне 8]. Алгоритм может за одну итерацию переставить только две буквы местами н.п. ABCD -> CBAD -> CBDA -> ... Пишу bool функцию, которая вернёт true если из строки из FILE_1 перестановками...
C++ Как работает оператор сложения? https://www.cyberforum.ru/ cpp/ thread2829607.html
Почему при сложении строки с числом, вырезается количество символов от строки? #include <iostream> using namespace std; template <typename Type1, typename Type2> void Sum(Type1 a, Type2 b) { cout << a + b;
C++ Задачу с Стека или Очереди https://www.cyberforum.ru/ cpp/ thread2829163.html
Не понимаю, как делать с помощью этого, нигде не нашел. Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают:  номер УДК;158  фамилию и инициалы автора;  название;  год издания;  количество экземпляров данной книги в библиотеке. Программа должна обеспечивать:  начальное формирование данных обо всех книгах в библиотеке в виде...
C++ Решть физическую задачу
Описать массив структур с 3-х элементов. Каждая структура объединяет данные для одного варианта расчета. Необходимо для каждого варианта на отрезке от 0 до Т с шагом построить график изменения скорости истечения идеального газа из сосуда под давлением. #include <fstream> #include <iostream> #include <math.h> #include <cmath> #include <cstring> using namespace std;
C++ Разморозить - морозить потоки от процесса - Suspend - Resume Theard procces https://www.cyberforum.ru/ cpp/ thread2829061.html
Мне нужно разморозить - морозить потоки из процесса . Game.exe+0x146cde5 разморозить эт над . возможно ли такое сделать? без всяких С++ и т.д . в С++ не шарю,как такое сделать в 1 запуск ехе От сюда типа - где Start adress Миниатюры Кто может собрать 1 ехе.на с++ и скинуть ехе? чтобы он просто размораживал этот адресс
C++ Построение графика с анимацией Доброго времени суток. Вопрос, имеется задание построить график функции и добавить туда анимацию (движение точки по графику (y=cosx)). Работаю в vs 2019. Можно ли это сделать с базовыми вещами vs19 ? или нужно подключать sdl, sfml и т.п. и делать с их помощью и сложно ли это? До этого использовал примитивную "анимацию" движения по прямой, растягивание объектов. Но так как график(y=cosx) идет... https://www.cyberforum.ru/ cpp/ thread2828636.html C++ 10 человек (фамилия, имя, год рождения),вывести данные о трех старейших из них
Входные данные: 10 человек (фамилия, имя, год рождения) Исходные данные: Вся информация о трех старейших из них
C++ Открытие exe файла на другом пк Visual Studio Друзья! Просьба помочь с проблемой, создал клиентское приложение, перекинул exeшник на другой пк и он там не запускается порылся в интернете, там было решение в свойствах проекта покапатся и поменять настройки в вкладке "создание кода" я все что нужно сделал, проблема ушла, ексешник запустился на др пк, но он как будто не прогружается до конца, то есть появляется окно консоли и оно тупо пустое,... https://www.cyberforum.ru/ cpp/ thread2828494.html C++ Калькулятор Нужно сделать калькулятор который может (+ - * /), и также он реагирует на дужки, тоесть сперва делает действие в дужках, а потом по порядку. Калькулятор должен делать более одного действия, тоесть а+с*(f/a) - это пример https://www.cyberforum.ru/ cpp/ thread2828294.html
Организуйте вывод значений компонент записи C++
Распечатать анкетные данные студентов, получивших в первую сессию все оценки 5 12,3,5
C++ Массив: Определить, является ли данный массив aсимметричным Определить, является ли данный массив a симметричным, то есть имеет ли место быть равенство первого и последнего элемента, второго и предпоследнего и т.д. https://www.cyberforum.ru/ cpp/ thread2828024.html
0 / 0 / 0
Регистрация: 03.09.2017
Сообщений: 6
17.05.2021, 22:15  [ТС] 0

проблемы в Опере с post запросами и ответами - C++ - Ответ 15499702

17.05.2021, 22:15. Показов 1222. Ответов 7
Метки (Все метки)

Ответ

Server.h
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
#pragma once
#include <iostream>
#include <sstream>
#include <WinSock2.h>
#include <WS2tcpip.h>
 
#include "data.h"
 
class Server {
public: 
    Server();
    ~Server();
 
    void run();
 
    int stopServer();
    void setFlag(bool);
    std::string getError(); 
    std::string linkServer();
 
private:
    WSADATA wsaData;
    struct addrinfo* addr = NULL;
    struct addrinfo hints;
    int listen_socket;
    PCSTR ipServer;
    PCSTR portServer;
    bool flag;
    std::string msgError;
 
    int ws2load();
    int initAddressStruct();
    int createSocket();
    int bindSocket();
    int initSocket();
    
};
Server.cpp
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#include "server.h"
 
#pragma comment(lib, "Ws2_32.lib")
 
 
Server::~Server() {
 
}
 
Server::Server(){
    ZeroMemory(&hints, sizeof(hints));
 
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
    hints.ai_flags = AI_PASSIVE;
 
    ipServer = "192.168.1.196";
    portServer = "80";
 
    flag = false;
 
    msgError = "default";
    
}
 
int Server::ws2load() {
    int result = WSAStartup(MAKEWORD(2, 2), &wsaData);
    if (result != 0) {
        this->msgError = "WSAStartup failed: " + result;
        return result;
    }
    return 0;
}
 
int Server::initAddressStruct() {
    int result = getaddrinfo(ipServer, portServer, &hints, &addr);
    if (result != 0) {    
        this->msgError = "Getaddrinfo failed: " + result;
        WSACleanup(); // выгрузка библиотеки Ws2_32.dll
        return result;
    }
    return 0;
}
 
int Server::createSocket() {
    listen_socket = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol);
    if (listen_socket == INVALID_SOCKET) {
        this->msgError = "Error at socket";
        freeaddrinfo(addr);
        WSACleanup();
        return 1;
    }
    return 0;
}
 
int Server::bindSocket() {
    int result = bind(listen_socket, addr->ai_addr, (int)addr->ai_addrlen);
    if (result == SOCKET_ERROR) {
        this->msgError = "bind failed with error";
        freeaddrinfo(addr);
        closesocket(listen_socket);
        WSACleanup();
        return 1;
    }
    return 0;
}
 
int Server::initSocket() {
    if (listen(listen_socket, SOMAXCONN) == SOCKET_ERROR) {
        this->msgError = "listen failed with error" ;
        closesocket(listen_socket);
        WSACleanup();
        return 1;
    }
    return 0;
}
 
void Server::setFlag(bool fl) { this->flag = fl; }
 
std::string Server::getError() {
    return this->msgError;
}
 
 
std::string Server::linkServer() {
    return "http://" + std::string(this->ipServer) + ":" + std::string(this->portServer);
}
 
int Server::stopServer() {
    return closesocket(this->listen_socket);
}
 
void Server::run() {
    if (ws2load() != 0) { std::cout << msgError << std::endl; return; }
    if (initAddressStruct() != 0) { std::cout << msgError << std::endl; return; }
    if (createSocket() != 0) { std::cout << msgError << std::endl; return; }
    if (bindSocket() != 0) { std::cout << msgError << std::endl; return; }
    if (initSocket() != 0) { std::cout << msgError << std::endl; return; }
 
    const int max_client_buffer_size = 1024;
    char buff[max_client_buffer_size];
    memset(buff, 0, max_client_buffer_size);
    int client_socket = INVALID_SOCKET;
    while (flag) {
        
        // Принимаем входящие соединения
        client_socket = accept(listen_socket, NULL, NULL);
        if (client_socket == INVALID_SOCKET) {
            msgError = "accept failed";
            closesocket(listen_socket);
            WSACleanup();
            break;
        }
 
        int result = recv(client_socket, buff, max_client_buffer_size, 0);
 
        std::cout << buff << std::endl;
 
 
    
 
        if (result == SOCKET_ERROR) {
            // ошибка получения данных
            std::cout << "recv failed: " << result << "\n";
            closesocket(client_socket);
        }
        else if (result == 0) {
            // соединение закрыто клиентом
            std::cout << "connection closed...\n";
        }
        else if (result > 0) {
            memset(buff, 0, max_client_buffer_size);
            // Данные успешно получены
            // формируем тело ответа (HTML)
    
            std::string response;
            response = HTTP::Response::_200_(HTML::testHTML.length()) + HTML::testHTML;
            // Отправляем ответ клиенту с помощью функции send
            result = send(client_socket, response.c_str(), response.length(), 0);
            if (result == SOCKET_ERROR) {
                // произошла ошибка при отправле данных
                std::cout << "send failed\n";
            }
            
            closesocket(client_socket);
        }
    }
 
    closesocket(listen_socket);
    freeaddrinfo(addr);
    WSACleanup();
 
}
data.h
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
#pragma once
#include <string>
 
namespace HTML {
    const std::string testHTML = 
        "<html>\n"
        "<head>\n"
        "<title>Test HTTP Server</title>\n"
                "</head>
        "<body>\n"
        "<h1>Test page</h1>\n"
        "<p>This is body of the test page...</p>\n"
        "<em><small>Test C++ Http Server</small></em>\n"
        "<form method=\"POST\" action=\"\">\n"
        "<input name = \"fname\" type = \"text\" value = \"\"></br>\n"
        "<input type = \"submit\" value = \"send\">\n"
        "</form>\n"
        "</body></html>";
                                 
 
}
 
namespace HTTP {
    namespace Response {
        std::string _200_(int ContentLength);
    }
}
P.S. я понимаю что это говнокод, но я только учусь

Вернуться к обсуждению:
проблемы в Опере с post запросами и ответами C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2021, 22:15
Готовые ответы и решения:

Проблемы с ответами
Добрый день! Возникли трудности с ответами, помогите пожалуйста, 1) В чём основная цель...

Проблемы с ответами
Please, помогите с ответами: Question 1/ A character array terminated with the null character...

Спам POST запросами
Приветствую. На хостинге timeweb есть 2 сайта. Все было нормально, но неожиданно сильно подскочила...

Работа с post/get запросами
Всем привет, знаю, подобными запросами уже кишит этот сайт, но я никак не могу найти полноценны ...

7
17.05.2021, 22:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2021, 22:15
Помогаю со студенческими работами здесь

работа с post/get запросами
Добрый день всем. нужна ваша помощь .. необходимо написать программу, которая бы отправляла...

Логика авторизации POST запросами
Здравствуйте, не могу понять логику отправки POST запросов. К примеру есть скрипт авторизации на...

Access_log забит левыми GET,POST запросами
Помогите , пожалуйста как защититься от брутфорсеров. У меня внешний apache centos и proxypass...

Создание таблицы и заполнение ее post/get запросами
Моя задача транслировать смс с модема на сайт. Все уже готово, только осталось сделать сайт с...

Не совсем обычная работа с get и post запросами
Ну, во-первых, всех с наступившим НГ) Ребят, нужна помощь... Никак не могу понять, возможно ли...

Большая разница между POST и GET запросами в скорости?
Здравствуйте, сейчас заметил такую вещь: Отправка GET запроса: Как видим это заняло Overall...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru