|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
|
Приём данных из ПК30.09.2013, 18:31. Показов 1368. Ответов 13
Метки нет (Все метки)
Я немногожко запутался, и не знаю как реализовать следующее:
Клиент который находится на ПК отправляет запрос на скрипт (пускай будет index.php). Мне нужно принять следующее: TaskID и IP. Клиент TaskID отправляет, как мне его принять? И как получить IP именно из сессии этого соединения?
0
|
|
| 30.09.2013, 18:31 | |
|
Ответы с готовыми решениями:
13
Приём данных с ПК Приём POST данных QSerialPort приём данных |
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 02.10.2013, 16:41 | ||
|
Ну вот как он отправляет, так и получайте, Вы же не сообщаете деталей, Вам не помогут...
Может это RPC, http, или просто сокетное соединение... В каждом из них есть ещё куча способов отправить, например для http это POST, GET, ...
1
|
||
|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
||
| 02.10.2013, 18:37 [ТС] | ||
|
Использоваться будут сокеты. Так как я передаю на PHP условные слова, а клиент будет что-то делать, согласно этим словам. То есть, приём данных через сокеты IP. Его я намерен подучать когда клиентская машина будет обращается к скрипту
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 02.10.2013, 18:47 | ||
|
То есть у вас будет крутиться сервер, и слушать сокет?
Значит вы должны придумать протокол общения клиент-сервера. Или использовать существующий, типа jabber, и прочих... Вот в зависимости от протокола, клиент и передаёт данные. Если это просто 2 числа, то можно простой бинарный поток данных слать. То есть подряд 4 байта TaskID и 4 байта IP. Ну и следовательно так же по 4 байта получать. А как Вы получите ИП другого соединения?) Не как ![]() У Вас и будет входящий ИП это именно для этого соединения. http://www.php.net/manual/ru/f... ername.php
1
|
||
|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
|
| 02.10.2013, 18:57 [ТС] | |
|
Стандарт есть. Да, будет у меня крутится сервер на PHP и будет постоянно слушать определённый порт. Я просто саму технику не могу понять, ну, если это http, то просто $_POST['TaskID']; и $_SERVER["REMOTE_ADDR"]; всё. А как это реализовать на сокетах? как принять данные через сокеты? Я этого не знаю
IP не будет предаваться клиентской машиной
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||
| 02.10.2013, 19:08 | ||||
|
которую я дал выше И почитать о TCP и протоколах передачи данных? ![]() И посмотреть что там уже за вас сделана передача IP. Как вы думаете, откуда попадают данные в $_SERVER["REMOTE_ADDR"]? Думаете их браузер сам шлёт? ![]() Так же парсятся из полученных байт в сокет. http://www.php.net/manual/ru/f... t-recv.php http://www.php.net/manual/ru/f... t-read.php http://www.php.net/manual/ru/sockets.examples.php В офф доке готовый код есть и клиента и сервера и примеры чтения и отправки данных. Клиент шлёт например 4 байта, значит сервером ждите эти 4 байта и читайте их.
1
|
||||
|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
|
| 02.10.2013, 22:20 [ТС] | |
|
Читал. Не знаю понял я это или нет
![]() Но маломальский что-то начинает мне доходить. Из всего я понял, что мне нужно что бы сервер "включался" тогда, когда на него поступают данные, а не я его запускал вручную сам
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 02.10.2013, 22:42 | |
|
Нет. Сервер должен быть включен всегда. Он должен слушать сокет.
Как только подключился новый сокет, можно получить IP и читать данные. Есть ещё нюансы с блокирующими и не блокирующими сокетами. Вообщем Вам нужно знать размер пришедших данных или формат в котором они отправляются.
0
|
|
|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
||
| 04.10.2013, 00:16 [ТС] | ||
|
Банально, использовать всё тот же глобальный массив $_POST['']; для приёма данных, или для этого есть что-то другое Добавлено через 14 минут для связи клиент-серверного приложения, где клиент - это ПК
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 04.10.2013, 01:58 | |
|
http - это протокол по верх tcp.
для его обработки ставят вэб сервер. если вы хотите запустить сервер на пхп, значит он будет принимать голые данные на свой сокет. значит в пхп нужно реализовать парсинг http протокола. не вижу не одного плюса использовать http протокол при обычном сокетном соединение, только лишние тормоза и трафик.
1
|
|
|
8 / 8 / 1
Регистрация: 30.07.2013
Сообщений: 162
|
||
| 05.10.2013, 01:51 [ТС] | ||
|
0
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 05.10.2013, 03:06 | ||
|
Как будут посылаться данные на ваш "виртуальный" сервер? По какому протоколу и какой программой. И почему бы просто не использовать уже готовый сервер, например Apache + PHP? А протокол HTTP
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||
| 05.10.2013, 03:14 | ||||
|
апач очень много ресурсов жрёт + пхп нужно запускаться каждый раз при приёме данных Протокол HTTP, для передачи 4 байт, сожрёт байт 40, а может и больше. + к этому апач на запуск пхп скрипта потратит прилично ресурсов. Как не крути, отдельно пхп висящий как демон и простой поток рав байт гораздо лучше.
0
|
||||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 05.10.2013, 03:20 | ||
|
Добавлено через 4 минуты тогда какие тут варианты ... socket - ы и обработка данных. Ну и про безопасность стоит подумать. А ещё варианты с одновременным доступом. Там могут быть нюансы. Так же возможно почитать про порождение процессов в PHP и той операционки в которой будете работать. Это если, демон будет порождать дочерние процессы в которых будет происходить обработка данных. Но, помоему, тут все проще.
1
|
||
| 05.10.2013, 03:20 | |
|
Помогаю со студенческими работами здесь
14
Приём данных из com-порта
RS232 приём данных
Сокеты, приём данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|