Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Linked
19 / 19 / 1
Регистрация: 12.12.2010
Сообщений: 649
#1

Visual studio express 2010, Передача данных в php скрипт - C++

23.01.2013, 10:28. Просмотров 670. Ответов 8
Метки нет (Все метки)

Здравствуйте. Мне необходимо данные с c++ передать в PHP скрипт, как это можно осуществить? Приведите пожалуйста простой пример.(Да, и как в php будут приниматься данные в переменную).Спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 10:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Visual studio express 2010, Передача данных в php скрипт (C++):

Visual Studio 2010 Express - C++
Скачал, поставил, приятный такой дизайн. А как она по функциональности? Чем лучше VS 2005, 2008? Ну и впринципе удобно ли в ней работать?

microsoft visual studio 2010 express - C++
я установил microsoft visual studio 2010 express создаю файл cpp и набираю код не могу его скомпилировать. Как это сделать? Заранее...

Ошибка в Visual Studio 2010 Express - C++
#include "stdafx.h" #include "Form1.h" ;using namespace MyTest; int main(array<System::String ^> ^args) { // Включение...

Создание проекта в Visual Studio Express 2010 - C++
У меня такая проблема:Нужно написать прогу на С++ . Обьясните как это сделать в VS если мне всякие проекты не нужны нужно только...

Прилинковать SDL 2.0.3 к Visual Studio 2010 Express - C++
ребята делал все как написано тут версия сдл 2.0.3 но в конце выдает такое "sdltest.exe": Загружено: "C:\Users\Iliya\Documents\Visual...

Подскажите сайт с уроками по OpenGL для Visual Studio 2010 Express - C++
Нашёл сайт www.pmg.org.ru,но ничего не понял.Как создать Win32 приложение(у меня только проект Win32)?Где меню Project/setting(у меня...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,528
23.01.2013, 10:34 #2
открыть сокет, послать GET запрос, php-скриптом обработать его и выдать НЕЧТО, словить ЭТО на сокете и сделать ЧТО-ТО.
1
Linked
19 / 19 / 1
Регистрация: 12.12.2010
Сообщений: 649
23.01.2013, 16:47  [ТС] #3
vxg, пример простой можно?(в console)
0
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,528
23.01.2013, 17:00 #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
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
//------------------------------------------------------------------------------
#include <winsock>
#include <stdio.h>
#include <string>
#include <strstrea>
//------------------------------------------------------------------------------
int get_addr(char *host_name)
{
    int res = -1;
 
    HOSTENT *phe = gethostbyname(host_name);
    if (phe)
        for (int i = 0; i < 4; i++)
            ((BYTE *)&res)[i] = phe->h_addr_list[0][i];
 
    return res;
}
//------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    WSADATA wsa_data;
    if (WSAStartup(0x101, &wsa_data))
    {
        printf("WSAStartup error (%i)\n", WSAGetLastError());
        system("pause");
        return -1;
    }
 
    if (wsa_data.wVersion != 0x101)
    {
        printf("Bad WSA version (%i)\n", wsa_data.wVersion);
        system("pause");
        return -1;
    }
 
    SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (s == INVALID_SOCKET)
    {
        printf("socket error (%i)\n", WSAGetLastError());
        system("pause");
        return -1;
    }
 
    int use_host_name;
    char host_name[256];
    char host_ip[256];
    int host_port;
    char doc[256];
 
    printf("use_host_name (0 for host_ip or 1 for host_name): ");
    scanf("%i", &use_host_name);
 
    if (use_host_name)
    {
        printf("host_name: ");
        scanf("%s", host_name);
    }
    else
    {
        printf("host_ip: ");
        scanf("%s", host_ip);
    }
 
    printf("host_port: ");
    scanf("%i", &host_port);
 
    printf("doc (for example /index.htm or /): ");
    scanf("%s", doc);
 
    SOCKADDR_IN sa;
    sa.sin_family = AF_INET;
    sa.sin_port = htons(host_port);
    sa.sin_addr.S_un.S_addr = use_host_name? get_addr(host_name) : inet_addr(host_ip);
 
    printf("wait for server...\n");
 
    while (true)
    {
        int connect_res = connect(s, (SOCKADDR *)&sa, sizeof(sa));
        if (!connect_res) break;
 
        Sleep(250);
    }
 
    printf("connected\n");
 
    std::strstream message;
 
    message <<
    "GET http://" << (use_host_name? host_name : host_ip) << ":" << host_port << doc << " HTTP/1.1\r\n"
    "Host: " << (use_host_name? host_name : host_ip) << ":" << host_port << "\r\n"
    "Connection: Close\r\n"
    "\r\n";
 
    if (send(s, message.str(), message.pcount(), 0) == SOCKET_ERROR)
    {
        printf("send error (%i)\n", WSAGetLastError());
        system("pause");
        return -1;
    }
 
    char buffer[100000];
    int buffer_size = sizeof(buffer);
    buffer_size = recv(s, buffer, buffer_size, 0);
    if (buffer_size == SOCKET_ERROR)
    {
        printf("recv error (%i)\n", WSAGetLastError());
        system("pause");
        return -1;
    }
    printf("from_server: %s\n", buffer);
 
    closesocket(s);
 
    WSACleanup();
 
    system("pause");
    return 0;
}
1
Linked
19 / 19 / 1
Регистрация: 12.12.2010
Сообщений: 649
23.01.2013, 18:39  [ТС] #5
vxg, хм, а с помощью ГЕТ обращений как нибудь можно попроще?
0
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,528
23.01.2013, 22:09 #6
три строчки - это крайне сложно?
1
Linked
19 / 19 / 1
Регистрация: 12.12.2010
Сообщений: 649
23.01.2013, 22:30  [ТС] #7
vxg, для того кто вообще не программировал в c++ - да. Вам сложно написать эти три строчки здесь?

Добавлено через 56 секунд
vxg, а, если вы про сокеты - то я с ними ни разу не работал, но как работает я представляю..Вы можете прокоментировать каждую строчку?Буду оч. благодарен.
0
vxg
Модератор
3163 / 1966 / 221
Регистрация: 13.01.2012
Сообщений: 7,528
23.01.2013, 23:55 #8
Цитата Сообщение от Linked Посмотреть сообщение
Вы можете прокоментировать каждую строчку?
нет
Цитата Сообщение от Linked Посмотреть сообщение
вообще не программировал в c++
это проблем. во всяком случае если собираетесь на нем что-то писать. тогда нужно заполнять пробел
1
Linked
19 / 19 / 1
Регистрация: 12.12.2010
Сообщений: 649
23.01.2013, 23:56  [ТС] #9
vxg, это верно. Ну что-ж, спасибо и на этом!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 23:56
Привет! Вот еще темы с ответами:

visual c++ 2010 express edition - C++
На сайте Microsoft есть visual c++ 2010 express edition. Кто знает он х86 или х64? Пойдет ли он на х64?

Накрылся Microsoft Visual C++ 2010 Express - C++
В процессе выполнения программы завис компьютер, диспетчер задач не помог, пришлось выключать комп. После открываю листинг программы, а...

начинаю работу с visual C++ 2010 express - C++
Итак, не могу скомпилировать файл в данной среде разработки. Насколько я понимаю нужно нажать отладка -&gt; начать отладку или нажать F5, но...

Как добавить файл ресурс в Studio Express 2010 - C++
В Studio Express 2010 отключена возможность создания ресурсов... Можно ли создать вручную и как ?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.01.2013, 23:56
Ответ Создать тему
Опции темы

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