Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
6 / 6 / 2
Регистрация: 11.07.2013
Сообщений: 186

Отправка xml

16.08.2013, 16:23. Показов 1384. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

Нужно отправить файл по IP адресу.
Я создаю xml документ и сохраняю его
PHP
1
2
3
...
$xml->save('xml/documents/file_'.date("Y-m-d-h-i-m").'.xml');
...
параллельно мне нужно отправить копию по IP адресу.
Писал после "save" вместо пути к пупкам, как выше IP адрес - регается на DOMDocument.

Добавлено через 18 часов 31 минуту
Забыл уточнить. Передачу файла нужно осуществить по протоколу UDP
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2013, 16:23
Ответы с готовыми решениями:

Отправка XML запроса
Здравствуйте. Помогите пожалуйста, нужно отправить вот такой <?xml version="1.0" encoding="UTF-8"?> <request...

Отправка XML формы с использованием POST
Доброе время суток помогите пожалуйста с отправкой XML даных вот код: $xml = '<?xml version="1.0" encoding="UTF-8"...

Отправка XML формы с использованием POST
Доброго время суток! Подскажите вчем проблема, не отправляеться XML //header('Content-Type: text/xml; utf-8; charset=UTF-8'); ...

5
6 / 6 / 2
Регистрация: 11.07.2013
Сообщений: 186
25.09.2013, 11:29  [ТС]
Решил проблему так:
PHP
1
2
3
4
5
6
7
8
<?php
                        ob_start();
                        system("cat 'xml/file.xml' > /dev/udp/192.168.1.3/5032");
                        //system("/sendfile");
                        $output = ob_get_contents();
                        ob_end_clean();
                                            
                                        ?>
Добавлено через 3 минуты
Но появилась другая проблема. На принимающей стороне парсер не может правильно разобрать xml, т.к. сперва он получает начало документа, а затем его конец. Посоветуйте, как решить эту задачу.

Файл xml отправляется маленького размера (примерно от 5 до 50 Kb). Насколько я знаю UDP позволяет оперировать файлами гораздо большего размера.
0
6 / 6 / 2
Регистрация: 11.07.2013
Сообщений: 186
02.10.2013, 10:13  [ТС]
Нашёл интересный способ отправки пакета:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php   
  
$fp = fsockopen("udp://192.168.1.3", 5032, $errno, $errstr);   
if (!$fp) {   
echo "ERROR: $errno - $errstr \n";
} else {   
$packet="сообщение\x00";
fwrite($fp, $packet);   
echo fread($fp, 4096);   
fclose($fp);   
}   
  
?>
Решил отправить xml таким образом:
PHP
1
$xml_file_udp = simplexml_load_file("xml/file.xml");
далее, в $packe передаю содержимое $xml_file_udp:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php   
  
$fp = fsockopen("udp://192.168.1.3", 5032, $errno, $errstr);   
if (!$fp) {   
echo "ERROR: $errno - $errstr \n";
} else {   
$packet="$xml_file_udp\x00";
fwrite($fp, $packet);   
echo fread($fp, 4096);   
fclose($fp);   
}   
  
?>
Пакет уходит, но распарсить на принимающей стороне не получается, тогда как с использованием
PHP
1
 system("cat 'xml/file.xml' > /dev/udp/192.168.1.3/5032");
сообщение парсилось, хоть и с ошибками.
0
6 / 6 / 2
Регистрация: 11.07.2013
Сообщений: 186
04.10.2013, 15:38  [ТС]
Всем привет
Научился отправлять сообщение на сервер:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$text = file_get_contents("xml/file.xml");
$size = 0;
$size = "Длина пакета: " . strlen . "байт.";
ehco $size;
 
$fp = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if(!fp) {
echo "Ошибка:  $errno - $errstr\n";
}
else {
socket_sendto($fp, $text, strlen($text))m 0x100, "192.168.1.10", 5032);
}
?>

Но, если файл превышает 5 килобайт - сообщение не доходит. Подскажите, как решить проблему.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
06.10.2013, 11:27
Цитата Сообщение от ab-vrn Посмотреть сообщение
0x100
и что за флаг, эквивалентный 256?
0
6 / 6 / 2
Регистрация: 11.07.2013
Сообщений: 186
07.10.2013, 17:28  [ТС]
Проблема решена. Проблема была на стороне сервера.

Добавлено через 1 минуту
Однако на стороне клиента появилась другая проблема. Если отправить сообщение размером более 70 Кб, ругается на socket_sendto.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2013, 17:28
Помогаю со студенческими работами здесь

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

отправка xml на другой сервер
есть 2 вебсервера, на первом я создаю xml файл if(isset($_POST)) { $dom = new domDocument(&quot;1.0&quot;, &quot;utf-8&quot;); // Создаём...

Отправка xml через POST
Привет! Нужно отправить некий xml-файл ч/з форму. Сам xml-файл используется как шаблон, просто нужно вставлять в него каждый раз новые...

отправка запросов к через XML
Здравствуйте! Помогите начинающему: нужно сформировать с помощью формы запрос в формате XML, отправить его по адресу, получить ответ в...

Отправка запроса с сайта по xml методом POST
Здравствуйте, други! Проблема такова: Нужно отправить xml запрос на сервер с авторизацией и получить ответ xml файлом. Подскажите как это...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru