Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2017, 12:37   #1
Artur85
Пользователь
 
Регистрация: 25.01.2012
Сообщений: 15
По умолчанию Прием данных ПК от устройства

Доброго времени суток.
Нужна программа которая будет принимать сообщения от устройств по сети, обрабатывать их и выводить в поле Memo. Передача данных будет осуществляться только в одну сторону. То есть клиент(устройство) отправляет данные на сервер, а сервер их будет обрабатывать и складывать в Memo.
Подскажите убогому с чего начать и как функцию приема и обработки пакетов в делфи осуществить.
Artur85 вне форума Ответить с цитированием
Старый 19.06.2017, 13:57   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Artur85 Посмотреть сообщение
Подскажите убогому с чего начать
Наверное, с разработки формата обмена, нет?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 19.06.2017, 14:17   #3
Artur85
Пользователь
 
Регистрация: 25.01.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Наверное, с разработки формата обмена, нет?
Формат обмена данными изначально заложен в передающее устройство, и возможности его изменить я пока не вижу. Поэтому придется пользоваться тем что нам предлагает производитель данного чудо агрегата.
Передача данных от устройства к серверу будет осуществляться по каналу мобильной связи, gprs. Устройство имеет интегрированный стек TCP/IP что в принципе должно облегчать задачу.
Основная загвоздка заключается в том что обмен данными осуществим только тогда когда известны адреса обоих участников процесса. С IP адресом сервера, как бы проблем нет. А вот IP устройства узнать нереально так как оно использует для передачи данных мобильную сеть.

Последний раз редактировалось Artur85; 19.06.2017 в 14:29.
Artur85 вне форума Ответить с цитированием
Старый 19.06.2017, 14:32   #4
Artur85
Пользователь
 
Регистрация: 25.01.2012
Сообщений: 15
По умолчанию

Спустя 5 часов поисков по интернету нашел грамотное описание задачи, может оно как то поможет..........
Инициирующим соединение устройством является концентратор, он организует GPRS-сеанс с инфраструктурой сотового оператора, получает от него динамический IP-адрес и устанавливает TCP/IP-соединение с сервером. Сервер должен быть сконфигурирован на прием (и обработку) запросов на соединение по выделенному каналу доступа в Интернет. При поступлении запроса на соединение от концентратора его динамический IP-адрес станет “известен” серверу (в IP-заголовке пакета содержится информация об адресе отправителя), что сделает возможным двухсторонний обмен информацией.
Исходя из вышесказанного:
1. Как средствами делфи сконфигурировать сервер на прием и обработку данных.
2.Как прочитать IP заголовок пакета данных

Последний раз редактировалось Artur85; 19.06.2017 в 14:35.
Artur85 вне форума Ответить с цитированием
Старый 19.06.2017, 14:49   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Artur85 Посмотреть сообщение
Исходя из вышесказанного:
1. Как средствами делфи сконфигурировать сервер на прием и обработку данных.
2.Как прочитать IP заголовок пакета данных
Не в ту степь копаете. Ищите TCP-сервер на Delphi, а ещё лучше UDP сервер на Delphi.

Протокол у вашего устройство какой?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 19.06.2017, 15:00   #6
Artur85
Пользователь
 
Регистрация: 25.01.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Не в ту степь копаете. Ищите TCP-сервер на Delphi, а ещё лучше UDP сервер на Delphi.

Протокол у вашего устройство какой?
Так вроде бы в ветке работа с сетью Delphi вопрос задал. А TCP - сервер и UDP - сервер, оба вроде бы к сетевым технологиям относятся, хотя может я и не прав.
В тех документации к устройству ничего не написано про протокол передачи, поэтому могу только предположить что это TCP. Если не заработает то придется лопатить UDP.


Из предыдущего сообщения я могу сделат вывод, что мне нужно будет "слепить" свой сервер и уже по ходу пьесы настраивать под свою задачу, я правильно понял?
Artur85 вне форума Ответить с цитированием
Старый 19.06.2017, 15:30   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Artur85 Посмотреть сообщение
Формат обмена данными изначально заложен в передающее устройство, и возможности его изменить я пока не вижу. Поэтому придется пользоваться тем что нам предлагает производитель данного чудо агрегата.
Передача данных от устройства к серверу будет осуществляться по каналу мобильной связи, gprs. Устройство имеет интегрированный стек TCP/IP

Что-то это всё напоминает приборы Novacom и Wialon...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 19.06.2017, 15:42   #8
Artur85
Пользователь
 
Регистрация: 25.01.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Что-то это всё напоминает приборы Novacom и Wialon...
Если быть более точным и раскрыть все карты до конца, то прибор называется Кситал 12Т.
Artur85 вне форума Ответить с цитированием
Старый 19.06.2017, 15:50   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Что-то по описанию устройства оно тупо смсками швыряется. без всяких TCP/IP:

http://www.ksytal.ru/download.htm
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 19.06.2017, 15:54   #10
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Artur85 Посмотреть сообщение
В тех документации к устройству ничего не написано про протокол передачи
Такого быть не может. А название у вашего устройства есть?
Без протокола можно и не начинать.


Ваш вопрос задан очень широко. Хотя бы версию Delphi что-ли уточнили.
Существует как минимум 5 библиотек. WinSock, indy, Synapse, Sockets, WinPCAP и тд. И в каждый это делается по своему.
Более того для UDP и TCP это делается по разному.
А ещё там куча вариантов построения и работы синхронные, асинхронные, параллельные. UDP - с подключением, без подключения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прием и передача данных по COM порту PTyTb32 Компоненты Delphi 2 26.06.2015 22:12
WinSock. Прием данных Denager Работа с сетью в Delphi 6 14.05.2011 22:45
Прием данных в поток Indy10 sunnmas Работа с сетью в Delphi 3 13.04.2011 18:03
Прием и передача данных в PCI_E устройство Andrei4 Помощь студентам 2 12.11.2010 18:33
Прием данных по DDE chigik Microsoft Office Excel 3 13.05.2009 10:47