|
json + TCP
|
|||
---|---|---|---|
#18+
Всем привет! Есть у кого опыт работы с json запросами по протоколу TCP ? Общее описание такое: 1. Есть локальный сервер localhost ну и порт типа 5046 2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ: - текст запроса выше преобразовать в utf-8 (это вроде решаемо) - полученное преобразовать в битовый массив (это тоже вроде решаемо) - массив отправить на сервер по TCP (в этом и есть проблема) - получить ответ от сервера в виде битового массива (это тоже проблема) - битовый ответ преобразовать в строку (вроде решаемо). Решения такого направления не работают, - любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP... В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ??? Всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 02:21 |
|
json + TCP
|
|||
---|---|---|---|
#18+
чуть второй раз не отправил... спю... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 02:22 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ??? Ну и Вин АПИ какое-то есть - https://stackoverflow.com/questions/49028281/vba-with-winsock2-send-sends-wrong-data ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 10:18 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag Всем привет! Есть у кого опыт работы с json запросами по протоколу TCP ? Общее описание такое: 1. Есть локальный сервер localhost ну и порт типа 5046 2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ: - текст запроса выше преобразовать в utf-8 (это вроде решаемо) - полученное преобразовать в битовый массив (это тоже вроде решаемо) - массив отправить на сервер по TCP (в этом и есть проблема) - получить ответ от сервера в виде битового массива (это тоже проблема) - битовый ответ преобразовать в строку (вроде решаемо). Решения такого направления не работают, - любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP... В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ??? Всем спасибо! Там есть функция отправления данных в том числе. Возможно ссылка поможет вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 13:56 |
|
json + TCP
|
|||
---|---|---|---|
#18+
Всем спасибо, буду смотреть и пробовать... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 14:21 |
|
json + TCP
|
|||
---|---|---|---|
#18+
"любой обмен с сервером в любой обертке 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 21:50 |
|
json + TCP
|
|||
---|---|---|---|
#18+
Odess, Вот что мне ответили разработчики этого сервера, когда я показал им аналогичный пример с MSXML2: Нужно подробнее прочитать протокол обмена. Он основан на "голых" JSON, а не в обертке HTTP. Нужно использовать чистые сокеты TCP по порту... С MSXML2 на send получаем ошибку загрузки файла... На картинке кусок из документации по серверу... По ссылке Прогер_Самоучка пример очень похожий на истину, почти готовый, но я пока еще не раскурил его, в лоб не получилось, - пошел по простому пути, зарегил DLL из зипа, но она не рассчитана на работу с localhost, ей нужны интернет ip адреса... в примере полный пакет проекта на VB6 + закомпиленная DLL с него, нужно или пакет лопатить, или тащить его в VBA и переделывать... Пару дней уже убито, но интерес не пропал... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 23:52 |
|
json + TCP
|
|||
---|---|---|---|
#18+
У court тоже пример в тему и на том же, правда там чел отправляет с localhost и просто ловит посылку сам на сервере... попробую скрестить... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 00:52 |
|
json + TCP
|
|||
---|---|---|---|
#18+
Odess Я дико извиняюсь. А разве HTML это не TCP протокол по 80 и 443 портах? нее :)) точнее не так :) не всякое HTML - это HTTP (это вообще разных "тем" сущности) и не всякое TCP/IP - это HTTP :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 01:39 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP... А можете обьяснить поподробнее , как понять голый TCP . vmag но она не рассчитана на работу с localhost, ей нужны интернет ip адреса... Тоже не очень понял . Если я не ошибаюсь localhost , это если сервер установлен на том же компьютере , но я могу вместо localhost использовать и IP . И можете пояснить , откуда , и куда , и какие данные Вы передаете . Например работают оба адреса. Или я ничего не понимаю? автор http://localhost/apsauga/public/ автор http://192.168.0.103/apsauga/public/ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 11:57 |
|
json + TCP
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 13:48 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag 1. Есть драйвер (весит мало, вреда никакого, удаляется стандартно), НО! Если не сложно , обьяснить , что ваще этот драйвер делает ? И для чего нужен? Если честно , счачивать всякий мусор и устанавливать на комп , не очень то хочется . И пока не вьезжаю для чего нужен JSON ? Для этого точно нужно знать , что за драйвер. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 17:20 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag - После установки в браузере набираем http://localhost:50010/ и если открылся интерфейс управления драйвера - вам крупно повезло... Все таки любопытство взяло верх , скачал и установил эту беду. У меня Win10 Pro. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 17:52 |
|
json + TCP
|
|||
---|---|---|---|
#18+
Kстати да , попробовал по ip адресу , точно не запускается. Но это надо копаться в самой программе. Я если честно думал о WebServer или что то типа Apache . Здесь немного другая история. Только я не понимаю , если эта программа запустилась , то она и создана для передачи данных куда то , или как ? При чем здесь access ? Или данные из access нужно куда то передавать. Я не россиянин , и мне эта KKТ ни о чем не говорит. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 18:09 |
|
json + TCP
|
|||
---|---|---|---|
#18+
DarkMan, Это Уно Квази Фантази То что вы установили - это драйвер фискальных регистраторов Меркурий... В этом интерфейсе можно установить связь с кассой по com порту и больше он не нужен для работы... А далее по TCP на порт 50009 можно посылать команды в формате JSON и управлять кассой через этот драйвер... Самая простая и безобидная команда, которой нахрен не нужна касса это спросить у драйвера как его зовут: {”command”: ”GetDriverInfo”} и он должен прислать ответ... Не знаю как еще объяснить... да это и не скули и не HTML, одним словом Уно Квази Фантази, причем есть версия под Linuks ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 20:00 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag Это Уно Квази Фантази Если я правильно понял , то это программа отправки данных на сервер налоговой инспекции ? Или как ? Но если Вам нужно отправить данные из Access , то там сервер налоговой принимает какой то формат ? У нас например данные отправляются в XML , или я что не понимаю ? Вы можете сформировать запрос к серверу минуя этот KKT или как он там , не помню . Или передать свои данные в эту программу и затем отправить на сервер. Но что то же делает эта программа? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 20:13 |
|
json + TCP
|
|||
---|---|---|---|
#18+
DarkMan, В грубом приближении это программа печати чеков на кассе и доступ к кассе есть только у нее, соответственно другие программы тоже могут печатать чеки на кассе, но уже через нее... понимание смысла происходящего не всегда помогает решению самой проблемы, это как спросить который час, а в ответ услышать - а с какой целью интересуетесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 20:27 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag DarkMan, В грубом приближении это программа печати чеков на кассе и доступ к кассе есть только у нее, соответственно другие программы тоже могут печатать чеки на кассе, но уже через нее... понимание смысла происходящего не всегда помогает решению самой проблемы, это как спросить который час, а в ответ услышать - а с какой целью интересуетесь... Я Вас понял , умолкаю , не то по морде получу , и подвиг свой не совершу. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 20:34 |
|
json + TCP
|
|||
---|---|---|---|
#18+
vmag Всем привет! Есть у кого опыт работы с json запросами по протоколу TCP ? Общее описание такое: 1. Есть локальный сервер localhost ну и порт типа 5046 2. Нужно отправить ему запрос json, например такой {"NameParam":"ValueParam"} и получить ответ: - текст запроса выше преобразовать в utf-8 (это вроде решаемо) - полученное преобразовать в битовый массив (это тоже вроде решаемо) - массив отправить на сервер по TCP (в этом и есть проблема) - получить ответ от сервера в виде битового массива (это тоже проблема) - битовый ответ преобразовать в строку (вроде решаемо). Решения такого направления не работают, - любой обмен с сервером в любой обертке HTML не поддерживаются сервером, только голый TCP... В делфи есть для этого специальный компонент типа TCPClient, а в VB/VBA есть аналоги или костыли ??? Всем спасибо! Не насилуй акс и свой мозг, потрать день-два на изучения go-lang и используй его ка прокладку между своей базой и внешним миром. Конкретным кодом помочь, к сожаления не могу ( было в прошлой жизни и пипец как не сейчас), но такие вещи пишутся на go в несколько строк. Не благодари. ps как, мотиватор...я нифига не разу не гуру json и сетвых технологий, но мне потребовался одни рабочий день, что бы написать клиента для общения с внешним сервисом json+ отладочный сервер для проверки своего клиента. ты главное не ссы, все у тебя получится ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 21:39 |
|
json + TCP
|
|||
---|---|---|---|
#18+
bubucha Не благодари. и всё таки благодарю ! вовремя остановил... bubucha Не насилуй акс и свой мозг, тут ты прав на все 100 ! bubucha потрать день-два на изучения go-lang и используй его ка прокладку тут сомнительно... Потратил, уперся в ту же стену, но тут хоть получал сообщения об ошибках, причем ошибки с кодом как на неподдерживаемых драйвером ОС типа ХР и W7... А вот на GUI Java используя готовые библиотеки получилось за пол дня... Ну наверно настало время менять коней... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 20:31 |
|
|
start [/forum/topic.php?fid=45&fpage=13&tid=1609951]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 178ms |
0 / 0 |