Страница: 1 |
Страница: 1 |
Вопрос: Как асинхронно выполнить запрос к серверу
Добавлено: 05.08.12 21:48
Автор вопроса: Kryeker
Здравствуйте, возможно ли средствами Visual Basic 6 (без дополнительных компонентов) в асинхронном режиме отправлять и получать запросы с сервера?
Если нельзя, то вот вопрос: как компонентом WebBrowser получить данные в формате JSON? XML реализация работает, но JSON компактней.
Спасибо.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Avvelana
Вопросов: 2
Ответов: 18
Профиль | | #1
Добавлено: 09.08.12 01:50
Технически-то наверно можно, но даже страшно представить что придётся сделать.. Смотрите в сторону CreateThread(), WaitForMultipleObjects().
Номер ответа: 2
Автор ответа:
Kryeker
Вопросов: 3
Ответов: 5
Профиль | | #2
Добавлено: 09.08.12 05:37
Спасибо. Я вот придумал сделать отдельный EXE файл, допустим N2, так называемый сервер, который бы принимал данные в формате JSON и посредством механизма DDE передавал бы данные в основную программу для обработки. Минус лишь в том что N2 постоянно будет висеть в мертвом цикле, выполняя синхронные запросы, хотя может и не минус, одного потока вроде достаточно
Dim objHTTP As Object
Set objHTTP = CreateObject("Microsoft.XMLHTTP"
Call objHTTP.Open("GET", Query, False)
objHTTP.Send
SendGet = objHTTP.ResponseText
Set objHTTP = Nothing
End Function
Вопрос: стоит ли мне теперь после сего действа смотреть в сторону CreateThread(), WaitForMultipleObjects()? Что оптимальней/логичней?
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 09.08.12 08:38
Выбери жизнь. Выбери платформу. Выбери язык программирования. Выбери карьеру. Выбери компанию своей мечты. Выбери HR с модельной внешностью. Выбери сеньерскую зарплату. Выбери офис в 5 минутах от метро, выбери опен спейс, халявное кофе, XBox и тенисный стол. Выбери официальное трудоустрйоство, социальный пакет и стоматологическую страховку. Выбери молодой дружный коллектив. Выбери гибкий график работы. Выбери командировки в Лондон и Мюнхен. Выбери обучение за счет компании. Выбери квартальные бонусы. Выбери крупные интересные проекты. Выбери поддержку легаси кода без документации. Выбери дедлайны и овертаймы. Выбери заваленные ночные билды. Выбери широкие возможности для карьерного роста и развития. Выбери некомпетентных коллег. Выбери съемную квартиру и машину в кредит. Выбери кризис среднего возраста в 25 лет. Выбери работу с утра и до поздней ночи, трату всего оставшеегося свободного время на стояние в пробках или поездки в метро, просиживай выходные в WOW, пытаясь вспомнить сколько лет назад ты последний раз был в отпуске или видел живую девушку, осознавая, что после тебя ничего не останется кроме тонны такого же легаси кода, который будет переписан как только ты уйдешь в компанию через дорогу где платят на 100 долларов больше. Выбери свое будущее. Выбери жизнь.
Но зачем мне это? Я решил не выбирать жизнь. Я выбрал кое-что другое… А причины? Причин нет. Кому нужны причины, когда есть VB6?
Номер ответа: 4
Автор ответа:
Kryeker
Вопросов: 3
Ответов: 5
Профиль | | #4
Добавлено: 09.08.12 12:14
Язык конкретно под задачу подобран и поверьте уж, идеально с этим справляется, вагон свободного времени именно благодаря быстроте воплощения. И думаю не стоит убеждать вас что не единым VB6 владею...
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 09.08.12 16:09
А что мешает использовать XMLHTTP в асинхронном режиме?
Номер ответа: 6
Автор ответа:
Avvelana
Вопросов: 2
Ответов: 18
Профиль | | #6
Добавлено: 09.08.12 19:29
С потоками вообще сложно работать, тем более на ВБ6. Если есть возможность, лучше делать проще. Чем проще - тем лучше. Если запросов будет не очень много, то можно использовать ваш вариант. Вообще хитро придумали, я уже отвык от таких вещей, мне даже в голову про DDE не пришло.
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 09.08.12 21:02
я бы рекомендовал прислушаться к совету
Номер ответа: 8
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #8
Добавлено: 09.08.12 21:03
& LamerOnLine
http://www.dailydoseofexcel.com/archives/2006/10/09/async-xmlhttp-calls/
Номер ответа: 9
Автор ответа:
Kryeker
Вопросов: 3
Ответов: 5
Профиль | | #9
Добавлено: 09.08.12 21:54
Всем спасибо, удалось, работает. Пока DDE вариант тестирую
Номер ответа: 10
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #10
Добавлено: 15.08.12 11:47
Можно и погуглить
http://www.sql.ru/forum/actualthread.aspx?tid=924186
Номер ответа: 11
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #11
Добавлено: 15.08.12 20:23
А использовать DoEvent в каждой минимальной итерации - не просто изврат. Это Ахтунг!
http://www.sql.ru/forum/actualthread.aspx?tid=924186
LamerOnLine, что же вы такие ахтунги советуете на форуме?
Номер ответа: 12
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #12
Добавлено: 15.08.12 23:21
LOL спалилсо ))))))))))))
Номер ответа: 13
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #13
Добавлено: 16.08.12 13:59
Дык код не мой