powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / json + TCP
21 сообщений из 21, страница 1 из 1
json + TCP
    #39995440
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Есть у кого опыт работы с json запросами по протоколу TCP ?
Общее описание такое:
1. Есть локальный сервер localhost ну и порт типа 5046
2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ:
- текст запроса выше преобразовать в utf-8 (это вроде решаемо)
- полученное преобразовать в битовый массив (это тоже вроде решаемо)
- массив отправить на сервер по TCP (в этом и есть проблема)
- получить ответ от сервера в виде битового массива (это тоже проблема)
- битовый ответ преобразовать в строку (вроде решаемо).

Решения такого направления не работают, -
любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP...
В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ???

Всем спасибо!
...
Рейтинг: 0 / 0
json + TCP
    #39995441
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чуть второй раз не отправил... спю...
...
Рейтинг: 0 / 0
json + TCP
    #39995499
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ???
Есть АктивХ МС-вский, вроде как для этого предназначенный - MSWINSOCK.Winsock
Ну и Вин АПИ какое-то есть - https://stackoverflow.com/questions/49028281/vba-with-winsock2-send-sends-wrong-data
...
Рейтинг: 0 / 0
json + TCP
    #39995521
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

можа здесь чё полезное есть.
http://forum.script-coding.com/viewtopic.php?id=11034
...
Рейтинг: 0 / 0
json + TCP
    #39995644
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Всем привет!

Есть у кого опыт работы с json запросами по протоколу TCP ?
Общее описание такое:
1. Есть локальный сервер localhost ну и порт типа 5046
2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ:
- текст запроса выше преобразовать в utf-8 (это вроде решаемо)
- полученное преобразовать в битовый массив (это тоже вроде решаемо)
- массив отправить на сервер по TCP (в этом и есть проблема)
- получить ответ от сервера в виде битового массива (это тоже проблема)
- битовый ответ преобразовать в строку (вроде решаемо).

Решения такого направления не работают, -
любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP...
В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ???

Всем спасибо!
Возможно что-либо полезное есть здесь
Там есть функция отправления данных в том числе. Возможно ссылка поможет вам.
...
Рейтинг: 0 / 0
json + TCP
    #39995664
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, буду смотреть и пробовать...
...
Рейтинг: 0 / 0
json + TCP
    #39995811
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP"
Я дико извиняюсь. А разве HTML это не TCP протокол по 80 и 443 портах?

Попробуйте что-то типа
A_GlazPath2 = " http://127.0.0.1:3355/api/v1/terminals/" + A_Token + "/checks"
....
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "POST", A_GlazPath2, False
objXMLHTTP.setRequestHeader "Content-Type", "application/json; charset=utf-8"
objXMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 Firefox/1.0.7"

objXMLHTTP.send txttt
stitle = objXMLHTTP.responseText
If objXMLHTTP.Status = "201" Then
Else
MsgBox "Îøèáêà ïîäêëþ÷åíèÿ ê ñåðâåðó!"
End If
...
Рейтинг: 0 / 0
json + TCP
    #39995845
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odess,

Вот что мне ответили разработчики этого сервера, когда я показал им аналогичный пример с MSXML2:
Нужно подробнее прочитать протокол обмена. Он основан на "голых" JSON, а не в обертке HTTP.
Нужно использовать чистые сокеты TCP по порту...

С MSXML2 на send получаем ошибку загрузки файла...
На картинке кусок из документации по серверу...
По ссылке Прогер_Самоучка пример очень похожий на истину, почти готовый, но я пока еще не раскурил его, в лоб не
получилось, - пошел по простому пути, зарегил DLL из зипа, но она не рассчитана на работу с localhost, ей нужны
интернет ip адреса... в примере полный пакет проекта на VB6 + закомпиленная DLL с него, нужно или пакет лопатить, или тащить его в VBA и переделывать... Пару дней уже убито, но интерес не пропал...
...
Рейтинг: 0 / 0
json + TCP
    #39995855
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У court тоже пример в тему и на том же, правда там чел отправляет с localhost и просто ловит посылку сам на сервере... попробую скрестить...
...
Рейтинг: 0 / 0
json + TCP
    #39995862
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odess
Я дико извиняюсь. А разве HTML это не TCP протокол по 80 и 443 портах?

нее :))

точнее не так :)
не всякое HTML - это HTTP (это вообще разных "тем" сущности)
и не всякое TCP/IP - это HTTP :)
...
Рейтинг: 0 / 0
json + TCP
    #39995880
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP...

А можете обьяснить поподробнее , как понять голый TCP .
vmag
но она не рассчитана на работу с localhost, ей нужны
интернет ip адреса...

Тоже не очень понял . Если я не ошибаюсь localhost , это если сервер установлен на том же компьютере , но я могу вместо localhost использовать и IP .
И можете пояснить , откуда , и куда , и какие данные Вы передаете .
Например работают оба адреса. Или я ничего не понимаю?
автор http://localhost/apsauga/public/
автор http://192.168.0.103/apsauga/public/
...
Рейтинг: 0 / 0
json + TCP
    #39995892
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan,

Ладно, дабы не получилось как всегда - обсуждаем не проблему, а моё её видение, - то с самого начала:
1. Есть драйвер (весит мало, вреда никакого, удаляется стандартно), НО!
- не работает на XP от слова совсем,
- на W7 работает иногда (у меня не заработал)
- на W10 (не HOME) работает, версию HOME в принципе не использую, на ней многое нужное не работает...
- После установки в браузере набираем http://localhost:50010/ и если открылся интерфейс управления драйвера - вам крупно повезло...
- Если не открылся, пробуем перезагрузиться, если не помогло, пробуем запустить службу VT_inecrman и если её нет или она не запускается, то вам не повезло и можно дальше не читать...
2. Теперь всё просто:
- работаем с localhost порт 50009 ЭТО РАБОЧИЙ ПОРТ ВЗАИМОДЕЙСТВИЯ !!!
- отправляем туда запрос :
{”command”: ”GetDriverInfo”}
- получаем оттуда примерно такой ответ:
{
”result”: 0,
”description”: ”Описание ошибки”,
”driverVer”: ”1.2.0.247”,
”protocolVer”: ”3.0”,
”driverBaseVer”: ”0.4”
}
- формат посылок (туда и обратно) как на картинке выше пункт 2.1 красным, и я предполагаю что посылка туда
{”command”:”GetDriverInfo”}
будет выглядеть так:
"00 00 00 1b 7b 22 63 6f 6d 6d 61 6e 64 22 3a 22 47 65 74 44 72 69 76 65 72 49 6e 66 6f 22 7d"
где первый не ноль 1b это длина пакета в BIN равная 27 символам...
Сейчас застрял на переводе примера Прогера_Самоучки из VB (DLL) в VBA не DLL (в атаче),
вроде всё перетащил один в один, но ругается на VBWinsock.TCPIP ибо там это была DLL
...
Рейтинг: 0 / 0
json + TCP
    #39995909
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
1. Есть драйвер (весит мало, вреда никакого, удаляется стандартно), НО!

Если не сложно , обьяснить , что ваще этот драйвер делает ? И для чего нужен?
Если честно , счачивать всякий мусор и устанавливать на комп , не очень то хочется .
И пока не вьезжаю для чего нужен JSON ? Для этого точно нужно знать , что за драйвер.
:))
...
Рейтинг: 0 / 0
json + TCP
    #39995913
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
- После установки в браузере набираем http://localhost:50010/ и если открылся интерфейс управления драйвера - вам крупно повезло...

Все таки любопытство взяло верх , скачал и установил эту беду. У меня Win10 Pro.
...
Рейтинг: 0 / 0
json + TCP
    #39995918
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kстати да , попробовал по ip адресу , точно не запускается. Но это надо копаться в самой программе. Я если честно думал о WebServer или что то типа Apache . Здесь немного другая история. Только я не понимаю , если эта программа запустилась , то она и создана для передачи данных куда то , или как ? При чем здесь access ? Или данные из access нужно куда то передавать. Я не россиянин , и мне эта KKТ ни о чем не говорит. :))
...
Рейтинг: 0 / 0
json + TCP
    #39995937
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan,

Это Уно Квази Фантази
То что вы установили - это драйвер фискальных регистраторов Меркурий...
В этом интерфейсе можно установить связь с кассой по com порту и больше он не нужен для работы...
А далее по TCP на порт 50009 можно посылать команды в формате JSON и управлять кассой через этот драйвер...
Самая простая и безобидная команда, которой нахрен не нужна касса это спросить у драйвера как его зовут:
{”command”: ”GetDriverInfo”}
и он должен прислать ответ...
Не знаю как еще объяснить... да это и не скули и не HTML, одним словом Уно Квази Фантази, причем есть версия под Linuks
...
Рейтинг: 0 / 0
json + TCP
    #39995939
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Это Уно Квази Фантази

Если я правильно понял , то это программа отправки данных на сервер налоговой инспекции ? Или как ? Но если Вам нужно отправить данные из Access , то там сервер налоговой принимает какой то формат ? У нас например данные отправляются в XML , или я что не понимаю ? Вы можете сформировать запрос к серверу минуя этот KKT или как он там , не помню . Или передать свои данные в эту программу и затем отправить на сервер. Но что то же делает эта программа?
...
Рейтинг: 0 / 0
json + TCP
    #39995942
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan,

В грубом приближении это программа печати чеков на кассе и доступ к кассе есть только у нее, соответственно другие программы тоже могут печатать чеки на кассе, но уже через нее...
понимание смысла происходящего не всегда помогает решению самой проблемы, это как спросить который час, а в ответ услышать - а с какой целью интересуетесь...
...
Рейтинг: 0 / 0
json + TCP
    #39995944
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
DarkMan,

В грубом приближении это программа печати чеков на кассе и доступ к кассе есть только у нее, соответственно другие программы тоже могут печатать чеки на кассе, но уже через нее...
понимание смысла происходящего не всегда помогает решению самой проблемы, это как спросить который час, а в ответ услышать - а с какой целью интересуетесь...

Я Вас понял , умолкаю , не то по морде получу , и подвиг свой не совершу. :))
...
Рейтинг: 0 / 0
json + TCP
    #39995954
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Всем привет!

Есть у кого опыт работы с json запросами по протоколу TCP ?
Общее описание такое:
1. Есть локальный сервер localhost ну и порт типа 5046
2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ:
- текст запроса выше преобразовать в utf-8 (это вроде решаемо)
- полученное преобразовать в битовый массив (это тоже вроде решаемо)
- массив отправить на сервер по TCP (в этом и есть проблема)
- получить ответ от сервера в виде битового массива (это тоже проблема)
- битовый ответ преобразовать в строку (вроде решаемо).

Решения такого направления не работают, -
любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP...
В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ???

Всем спасибо!

Не насилуй акс и свой мозг, потрать день-два на изучения go-lang и используй его ка прокладку между своей базой и внешним миром. Конкретным кодом помочь, к сожаления не могу ( было в прошлой жизни и пипец как не сейчас), но такие вещи пишутся на go в несколько строк.
Не благодари.
ps как, мотиватор...я нифига не разу не гуру json и сетвых технологий, но мне потребовался одни рабочий день, что бы написать клиента для общения с внешним сервисом json+ отладочный сервер для проверки своего клиента.
ты главное не ссы, все у тебя получится
...
Рейтинг: 0 / 0
json + TCP
    #39996334
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha
Не благодари.

и всё таки благодарю ! вовремя остановил...
bubucha
Не насилуй акс и свой мозг,

тут ты прав на все 100 !
bubucha
потрать день-два на изучения go-lang и используй его ка прокладку

тут сомнительно...
Потратил, уперся в ту же стену, но тут хоть получал сообщения об ошибках, причем ошибки с кодом как на неподдерживаемых драйвером ОС типа ХР и W7...
А вот на GUI Java используя готовые библиотеки получилось за пол дня...
Ну наверно настало время менять коней...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / json + TCP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]