Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 3
1

Обмен данными php через socket и с++ сервера

01.04.2013, 19:31. Показов 2409. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем задача такова. Есть сервер написанный на С++ и к сожалению утрачены связи с его программистом.
Из описания удалось вытащить вот что:
Клиент с сервером общаются через TCP соединение
Прием/передача 32-х разрядного целого (далее int) происходит в сетевом порядке байт (big-endian)
Прием/передача строки (далее string) заключается в передачи длины строки в байтах (long) и самой строки (строка utf16)
Прием/передача бинарных данных (далее binary) аключается в передачи длины данных в байтах (long) и самих данных

Я никогда не сталкивался с таким видом передачи данных, я на php пишу.
И цель такова, соединится с этим сервером через сокет отправить на него данные и получить ответ. Больше всего меня смущает как передать строку. Что значит сначала идет ее размер, потом строка. Если есть люди разбирающиеся в этом вопросе, посвятите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 19:31
Ответы с готовыми решениями:

Нужно реализовать обмен данными переменных между C# и PHP без использования сервера
Понимаете, тут такое дело... Вообщем пишу что-то типа браузера, сам браузер написан ещё 150 тысяч...

Обмен данными между процессами, с использованием socket
обмен данными с использованием socket используя TPC- socket обмен данными между процессами...

Обмен данными между C++ Builder и Java компонентами socket-ов
Всем доброго времени суток. Не знаю, следует-ли создавать эту тему именно в данном разделе, т.к....

Обмен данными с PHP и технологии
Суть такова! Есть сервак на PHP и MYSQL. Есть клиент (неважно, что WEB-страничка, java-проложение,...

6
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
02.04.2013, 13:03 2
для с++ все вами сказанное тривиально. если вы испытываете сложности при работе с типами в php разумнее задать вопрос там
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 3
02.04.2013, 13:04  [ТС] 3
Цитата Сообщение от vxg Посмотреть сообщение
для с++ все вами сказанное тривиально. если вы испытываете сложности при работе с типами в php разумнее задать вопрос там
я испытываю трудность в передачи данных из php в формате С.
поэтому и разместил тему здесь, мне нужен человек который смог бы объяснить мне эти вот тривиальности)
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
02.04.2013, 13:26 4
вас загоняет в тупик тот факт что
- существует ячейка памяти размером 4 байта
- в этой ячейке хранится число
- передача содержимого ячейки выполняется в том или ином порядке следования байт
?

Добавлено через 2 минуты
в лоб
C++
1
2
3
4
5
6
7
8
long x;
char buffer[4];
char *p = (char *)&x;
buffer[0] = p[3];
buffer[1] = p[2];
buffer[2] = p[1];
buffer[3] = p[0];
//тут буфер уходит в сеть
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 3
02.04.2013, 13:27  [ТС] 5
мне не совсем понятно как должна выглядеть эта строка.
вот в php понятно я делаю fput($sream,'abc');
а вот как это 'abc' должно выглядеть чтобы вначале была его длинна а потом оно само.

fput($sream,'3abc'); так что ли ?
Сорри если совсем по нубски выражаюсь(
0
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
02.04.2013, 14:04 6
Цитата Сообщение от ivan-kakuev Посмотреть сообщение
как это 'abc' должно выглядеть
об этом вам нужно прочитать в документации по php. в ветке c++ ответа на этот вопрос вам не дадут
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
02.04.2013, 15:59 7
Действительно, нашли место где спрашивать.
как-то так (php читаю со словарем):
PHP
1
2
3
function str2netstr($str) {
  return pack("Nc*", strlen($str), $str);
}
1
02.04.2013, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2013, 15:59
Помогаю со студенческими работами здесь

Обмен данными с помощью php
привет всем . помогите пожалуйста разобраться. как передать переменную из php в as3 и на оборот...

Обмен данными между PHP и JAVASCRIPT
Пошарил интернет но проблему так и не решил! Есть index.html который постоянно обновляет div! в...

Обмен данными через интернет
Искал ответ но так и не нашел... Прошу прощения если плохо искал Проблема такая... Хочу...

Обмен данными через интернет
Доброго времени суток!!! При помощи чего реализовать обмен данными между компьютерами через...


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

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