|
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
|
|
Обмен Xml пакетами по TCP25.07.2012, 09:28. Показов 2334. Ответов 6
Метки нет (Все метки)
Всем доброго времени суток. Есть задача: реализовать обмен Xml пакетами через Tcp между двумя точками в двух направлениях со 100% гарантией доставки. Перерыл кучу материала по теме и если я правильно понял, то само по себе Tcp соединение напоминает com порт куда просто валятся данные, то есть оно гарантирует что они придут в нужном порядке и все правильно, но склеиваются как попало. Это значит что может быть ситуация когда конец одного и начало другого Xml пакета слипнуться. Чтобы этого избежать я пока решил ввести заголовки, где будет проставляться сигнатура начала и размер нагрузки...но это означает что надо постоянно шерстить входящий поток...может кто то подскажет более изящное решение проблемы?
0
|
|
| 25.07.2012, 09:28 | |
|
Ответы с готовыми решениями:
6
TCP работа с пакетами TCP работа с пакетами Межпроцессный обмен пакетами данных |
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 25.07.2012, 10:11 | |
|
Его нет :-)
Все совершенно правильно, TCP гарантирует доставку данных (либо получение ошибки "разрыв соединения"), но - является протоколом потоковой передачи данных и ничего не "знает" и не должен знать о твоих "Xml пакетах". За обработку полезной нагрузки отвечает вышележащий над TCP логический протокол обмена, который ты разрабатываешь самостоятельно.
1
|
|
|
Модератор
3404 / 2175 / 353
Регистрация: 13.01.2012
Сообщений: 8,436
|
|
| 25.07.2012, 10:44 | |
|
можно рвать соединение после каждой загрузки давая понять что она состоялась, но это - адово решение которое я однажды видел и даже в этом участвовал)
0
|
|
|
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
|
||
| 25.07.2012, 11:27 [ТС] | ||
|
0
|
||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 25.07.2012, 11:28 | |
|
Мне представляется, что при таком методе засада будет в том, чтобы надежно и стопроцентно отделить разрывы соединения по завершении "пакета" от разрывов соединения по любым другим причинам, коих может быть миллион. Если это не получится, то рано или поздно станут приходить битые "пакеты". А обработка битых "пакетов" - это отдельная головная боль.....
0
|
|
|
Модератор
3404 / 2175 / 353
Регистрация: 13.01.2012
Сообщений: 8,436
|
||
| 25.07.2012, 11:55 | ||
|
0
|
||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 25.07.2012, 12:20 | |
|
0
|
|
| 25.07.2012, 12:20 | |
|
Помогаю со студенческими работами здесь
7
Обмен пакетами данных между пунктами A и B (unspecified)
MODBUS-TCP обмен данными Сгруппированный обмен сообщениями по TCP Tcp Сервер - Клиент обмен данными Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub
Примеры вызова:
# Указанная валюта 'EUR'
floatrates-rub -Code 'EUR'
# Список имеющихся кодов валют
floatrates-rub -Available
function floatrates-rub {
|
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5
Примеры вызова
Get-WeatherRP5rss
с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
|
|
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr
Примеры вызова:
Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
|
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют
function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) {
$url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js'
$data = Invoke-RestMethod -Uri $url
$esc = 27
. . .
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
|
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца:
Хочу еще Симбу взять, очень нравится. . .
|