:: Visual Foxpro, Foxpro for DOS
Передача данных по UDP протоколу
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Добрый день.

Требуется по UDP протоколу передавать данные (json) на устройство.

Делаю так:
Local laXML[5]
laXML[1] = 'Msxml2.XMLHTTP.6.0'
i = 1
Http = Createobject(laXML[i])
_url = [udp://192.168.1.164:12345]
Http.Open("POST", _url, .f.)
Http.setRequestHeader('Content-type', 'application/json; charset=utf-8')
Http.Send('')
На последней команде синтаксическая ошибка.
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
а если так
send(.null.)


------------------
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Vedmak

Сообщений: 5967
Откуда: CiTY
Дата регистрации: 30.10.2003
Я бы все же поостерегся слать пустоту ибо в этом смысла мало.

Думаю, что нечто в исполнении протокола упущено.


------------------
Говорить стоит лишь для тех, кто слушает.
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
мне кажется это не получится поскольку http есть потомок протокола tcp

тут надо использовать другую библиотеку

Думаю, тов.Vedmak
навскидку лучше знает стек сетевых протоколов

т.е. я сомневаюсь что можно слать http пакеты по протоколу udp.

К тому же библиотека xmlhttp работает с вебсервисами на других устройствах(и думаю только по http*),
т.е. открывает порт для приема инфы, и сообщает его номер туда.

Там же вебсервис получая определенный запрос - шлет ответ на указанный порт.

Видимо так.

Я смотрю указан порт 12345, может тогда исп. сокеты?

Хотя сокеты могут передавать инфу только в случае установленного соединения,
т.е. сначала отправляются системные пакеты для установки соединения.

А ваша задача просто послать пакет?
Ну тады это, видимо, совсем другие библиотеки или программы.

ИМХО - память могет подводить



Исправлено 10 раз(а). Последнее : alex;, 13.08.17 11:59
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
Хотя если какой мастак настроил тунелирование http через udp то думаю в адресе нада писать http:/

не, и так не получится



Исправлено 1 раз(а). Последнее : alex;, 14.08.17 09:04
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Udp пакет можно послать через mswinsock или апи функциями работы с сокетами. Http это более высокоуровневый протокол.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Поставщик железа сказал что

так обращаться к кассе 192.168.1.164:12345

буду дальше его пытать почему мне нет ответа.
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
Может Http.Send()

ЗЫ отправляется-то по-крайней мере заголовок



Исправлено 1 раз(а). Последнее : alex;, 14.08.17 13:23
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Протокол TCP.
Подскажите это в сторону WinSock смотреть?
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
А почему вопрос возник?
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Я вот так посылал:* Про метод send(): msdn.microsoft.com
* Оказалось, что m.z д.б. бинарной, а не текстовой, (чтобы, в сл. CharSet=UTF-8 внутри .Send не происходила кодировка) - 0h + m.z, или - CAST(m.z as Blob)
m.z = IIF(m.oMODA.Open="POST", 0h+m.z, 0) && если посылаем методом POST, поэтому Send(ПЗ), GET - Send(NULL)
m.oXMLHTTP.Send(m.z) && собственно посылаем запрос на сервер
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
of63
Я вот так посылал:* Про метод send(): msdn.microsoft.com
* Оказалось, что m.z д.б. бинарной, а не текстовой, (чтобы, в сл. CharSet=UTF-8 внутри .Send не происходила кодировка) - 0h + m.z, или - CAST(m.z as Blob)
m.z = IIF(m.oMODA.Open="POST", 0h+m.z, 0) && если посылаем методом POST, поэтому Send(ПЗ), GET - Send(NULL)
m.oXMLHTTP.Send(m.z) && собственно посылаем запрос на сервер

таки по какому протоколу?
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
хз, по хттпшному, но и ТС хотел тогоже похоже, не УДП, раз назвал 192.168.1.164:12345 ?
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
да, вот и я думаю,
что надо поставить http:/

и send без параметров если синтаксическая ошибка
или все-таки что-то передавать



Исправлено 1 раз(а). Последнее : alex;, 15.08.17 01:02
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Протокол TCP
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
Василий
Протокол TCP
чо хочется-то?
там на железке поднят сокет, web-сервис?
или просто надо пакет сформировать и отправить?
и чо производитель-то точно сказал?

хоть сформулируйте нормально вопрос.

мы тут бубны бьем, танцуем, некот., думаю, похмеляются

но вас понять сложно
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
Василий
Автор

Сообщений: 682
Откуда: Москва
Дата регистрации: 19.10.2000
Вот что наконец предоставил производитель
Цитата:
Обмен данными между клиентом и ККТ организуется посредством передачи
JSON-сообщений по протоколам TCP/IP. Клиент устанавливает соединение с
ККТ по протоколу TCP на порт, указанный в конфигурации ККТ. Через
установленное сетевое соединение передаются пакеты данных следующего формата:

Смещение / размер, Описание
байт
0 / 4 Длина передаваемых данных, которые начинаются с
5-го байта пакета. Формат – int32 (старшим байтом вперёд).
4 / до конца пакета Данные в формате JSON. Кодировка символов – UTF-8.Обмен данными между клиентом и ККТ организуется посредством передачи
JSON-сообщений по протоколам TCP/IP. Клиент устанавливает соединение с
ККТ по протоколу TCP на порт, указанный в конфигурации ККТ. Через
установленное сетевое соединение передаются пакеты данных следующего формата:

Смещение / размер, Описание
байт
0 / 4 Длина передаваемых данных, которые начинаются с
5-го байта пакета. Формат – int32 (старшим байтом вперёд).
4 / до конца пакета Данные в формате JSON. Кодировка символов – UTF-8.

Собственно вопрос я озвучил.
Это через WinSock делать?
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
Василий
Собственно вопрос я озвучил.
Это через WinSock делать?

нет. надо в строку собрать пакет и отдать
сишной, а может и python
программе, кот. умеет контролировать отправку
tcp-пакетов, т.е. показывать дошел пакет или нет.

Я так понимаю работу протокола tcp.

Гуру меня поправят.

Гуглите как оправлять пакеты по tcp,
схему работы tcp,
примеры программ, например, на си.

А может и разработчик предоставит.

Удачи.
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
Вот кста, что-то подобное на фоксе
www.sql.ru
Ratings: 0 negative/0 positive
Re: Передача данных по UDP протоколу
alex;

Сообщений: 2855
Откуда: Москва
Дата регистрации: 23.11.2004
кста, а может там сокет поднят
вы так и не ответили на вопросы
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 16 WbrErr vech  (Гостей: 14)

© 2000-2024 Fox Club 
Яндекс.Метрика