|
Деструктор ума
22 / 22 / 0
Регистрация: 07.03.2009
Сообщений: 326
|
||||||||||||||||
Обработка пакета14.11.2012, 21:37. Показов 5491. Ответов 16
Метки нет (Все метки)
Добрый день.
Хочу доработать программу по приему пакетов по UDP протоколу. Есть прием пакета, откуда, от кого, по какому протоколу, размер пакета всего, время жизни пакета и выводится то, что в буфере лежит ( то есть в поступившем пакете) Прошу помочь реализовать несколько задач. 1. Есть файл текстовый. В нем 2 IP-адреса. Например так:
2. У меня есть параметр, определенный в структуре
Прошу помощи у магистров, а то плохо представляю как это реализовать. Вот мой код:
0
|
||||||||||||||||
| 14.11.2012, 21:37 | |
|
Ответы с готовыми решениями:
16
Величина пакета
Структура TCP пакета |
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||||||
| 15.11.2012, 13:31 | ||||||
1
|
||||||
|
Деструктор ума
22 / 22 / 0
Регистрация: 07.03.2009
Сообщений: 326
|
||||||
| 15.11.2012, 17:10 [ТС] | ||||||
|
vxg, опять спасибо за вашу помощь.
но я не совсем все понял, что вы сделали. если не затруднит, не могли бы вы закомментировать. особенно первую часть.
0
|
||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 15.11.2012, 22:15 | |
|
описал структуру которая буде хранить ip и описание (некую строку которую мы хотим отображать)
описал оператор для считывания этой структуры из файла описал вектор структур среди которых мы будем искать совпадения ip описал процедуру читающую этот вектор из файла
1
|
|
|
Деструктор ума
22 / 22 / 0
Регистрация: 07.03.2009
Сообщений: 326
|
||||||
| 19.11.2012, 20:56 [ТС] | ||||||
|
А все таки, как исходя из моей структуры
как это сделать vxg? например получив этот размер конкретного поля, нужно его вывести.
0
|
||||||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|||||||||||
| 19.11.2012, 22:39 | |||||||||||
|
то что в заголовке записана его длина, это конечно хорошо, но вам то зачем с ней работать? вы и так знаете длину заголовка и можете смело оперировать с данными идущими в буфере сразу после заголовка. как оперировать? все зависит от того что вы с ними делаете. если это строка оканчивающаяся нулевым символом просто выводите ее через
0
|
|||||||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|||
| 20.11.2012, 11:39 | |||
|
Добавлено через 3 минуты
0
|
|||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 20.11.2012, 13:39 | |
|
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 20.11.2012, 13:56 | ||
|
vxg, Вы вообще о чем???
Код ни Ваш ни ТС я не читал, поиск по топику дает:
0
|
||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 20.11.2012, 14:24 | ||
|
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 20.11.2012, 14:43 | |
|
Если на пальцах: у _каждый_ ip пакет состоит из заголовка и данных (опционально), в свою очередь заголовок состоит из обязательной части (как раз она и описана структурой у ТС) и (опционально) дополнительной части, наличие и размер которой как раз и определяется по полю IHL.
Если Вы где-то увидели код работающий с raw сокетами и не делающий разбор и проверку заголовка - это плохой и негодный код.
0
|
|
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 20.11.2012, 14:59 | |
|
вот теперь все четко. да, тогда TC нужно оперировать этим размером, а не размером обязательной части
0
|
|
|
Деструктор ума
22 / 22 / 0
Регистрация: 07.03.2009
Сообщений: 326
|
|||||||
| 20.11.2012, 18:57 [ТС] | |||||||
|
Добавлено через 7 минут vxg, а на счет IPшников из файла. Думаю можно по простому. есть файл. и, чтобы к нему не оперировать каждый раз при приеме пакета, можно сделать так: там запись примерно следующая:
когда она найдет символ " ' ", то все что идет до " : " нужно записать в параметр " а1 ", а все что после " : " идет до " ' " записать в параметр " b1 ". Аналогично дальше произвести запись в параметры " а2 " и " b2 " Т.е. а1, а2 - IPшники , а b1, b2 -порты. Помогите это программно реализовать пожалуйста.
0
|
|||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 20.11.2012, 19:50 | ||
|
0
|
||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
||
| 20.11.2012, 22:40 | ||
|
0
|
||
|
Деструктор ума
22 / 22 / 0
Регистрация: 07.03.2009
Сообщений: 326
|
|||
| 20.11.2012, 22:47 [ТС] | |||
|
0
|
|||
|
Модератор
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|
| 21.11.2012, 10:45 | |
|
не нужно его каждый раз открывать - вы его один раз открыли, разобрали и храните всю эту информацию в памяти столько сколько вам нужно. если там еще и порты - считайте и порты тоже
0
|
|
| 21.11.2012, 10:45 | |
|
Помогаю со студенческими работами здесь
17
Сокеты определение пакета Обработка бинарного пакета Куски пакета от сервера: правильное их соединение и обработка. Возможно ли при импорте в модуль пакета подняться выше пакета?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|