Пример по вебсокет клиенту для C++

User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Пример по вебсокет клиенту для C++

Post by Sergunka »

Тут смежникам нужен рабочий пример по вебсокет клиенту из MS C++ просто С тоже пойдет. Нужно чтоб плювал точно в wss:\\url\{id}

Ребята тяжелые с головой у них как-то ну очень сложно утверждают что могут плюнуть только в IP адрес.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Relict17
Уже с Приветом
Posts: 573
Joined: 15 Jan 2016 02:50

Re: Пример по вебсокет клиенту для C++

Post by Relict17 »

Первая же ссылка с Гугла на 'websocket c++" - это именно то, что надо.
https://github.com/zaphoyd/websocketpp" onclick="window.open(this.href);return false;
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Relict17 wrote:Первая же ссылка с Гугла на 'websocket c++" - это именно то, что надо.
https://github.com/zaphoyd/websocketpp" onclick="window.open(this.href);return false;
Проверь, будь другом, что под виндой и мс студией сработает :D
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

https://blogs.msdn.microsoft.com/vcblog ... et-client/" onclick="window.open(this.href);return false;

Я смежникам посылал эту ссылку от МС, они как-то в молчаливой форме отвергли мое предложение. Может какие мысли, что не так?
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Relict17
Уже с Приветом
Posts: 573
Joined: 15 Jan 2016 02:50

Re: Пример по вебсокет клиенту для C++

Post by Relict17 »

Sergunka wrote:
Relict17 wrote:Первая же ссылка с Гугла на 'websocket c++" - это именно то, что надо.
https://github.com/zaphoyd/websocketpp" onclick="window.open(this.href);return false;
Проверь, будь другом, что под виндой и мс студией сработает :D
Сорри. Нет под рукой ни Винды, ни Студии. :(

Но это надстройка над бустовской asio, должна работать... по идее...
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Пример по вебсокет клиенту для C++

Post by Мальчик-Одуванчик »

Sergunka wrote:https://blogs.msdn.microsoft.com/vcblog ... et-client/
Я смежникам посылал эту ссылку от МС, они как-то в молчаливой форме отвергли мое предложение. Может какие мысли, что не так?
Может оказаться что они все еще сидят на версии 2008 года и/или не поддерживают С++11
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Пример по вебсокет клиенту для C++

Post by Medium-rare »

Sergunka wrote:Тут смежникам нужен рабочий пример по вебсокет клиенту из MS C++ просто С тоже пойдет. Нужно чтоб плювал точно в wss:\\url\{id}

Ребята тяжелые с головой у них как-то ну очень сложно утверждают что могут плюнуть только в IP адрес.
http://doc.qt.io/qt-5/qtwebsockets-examples.html" onclick="window.open(this.href);return false;

Под любую платформу компилируется. Задействовал на прошлой работе. MS Visual Studio тут ни при чём, был бы компилятор C++ соответствуюший установленному Qt в системе. Но если очень хочется, то направить под Visual Studio тоже можно. Иногда так делал для отладки. Я в основном под Windows использовал Qt Creator, как и сейчас под Linux.

Что такое плюнуть в IP адрес - не очень ясно.
... and even then it's rare that you'll be going there...
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Medium-rare wrote: Что такое плюнуть в IP адрес - не очень ясно.
Это отдельная загадка - утверждают, что

wss:\\msd.com\{id}

не могут. Могут только типо так

wss:\\192.23.12.34\{id}
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Мальчик-Одуванчик wrote:
Sergunka wrote:https://blogs.msdn.microsoft.com/vcblog ... et-client/
Я смежникам посылал эту ссылку от МС, они как-то в молчаливой форме отвергли мое предложение. Может какие мысли, что не так?
Может оказаться что они все еще сидят на версии 2008 года и/или не поддерживают С++11
Да походу так оно и есть. Хоть буду знать теперь, что не так.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Пример по вебсокет клиенту для C++

Post by Medium-rare »

Sergunka wrote: wss:\\192.23.12.34\{id}
А, без DNS, нормально, если там по IP правильный сервер.
... and even then it's rare that you'll be going there...
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Medium-rare wrote:
Sergunka wrote: wss:\\192.23.12.34\{id}
А, без DNS, нормально, если там по IP правильный сервер.
Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Пример по вебсокет клиенту для C++

Post by Medium-rare »

Sergunka wrote: Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
Не понятно, зачем там IP, но если он фиксированный, то должно работать. У нас везде с вебсокетом есть DNS к Heroku. Никакой проблемы, всё же изначально на C и C++ и сделано. Фреймворк Qt просто обёртка, одна из удобных и для любой платформы. А, вспомнил, back end нам через REST посылает URL для websocket в сессии, вот как. Сессия же индивидуальна и очень длинная. Сокет надо определённый открыть, и держать открытым.
... and even then it's rare that you'll be going there...
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Пример по вебсокет клиенту для C++

Post by Boriskin »

Sergunka wrote:
Medium-rare wrote:
Sergunka wrote: wss:\\192.23.12.34\{id}
А, без DNS, нормально, если там по IP правильный сервер.
Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
Есть стандартные функции типа getaddrinfo(), gethostbyname() которые превратят имя в IP.
Тупизна как Энтропия. Неумолимо растет.
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Boriskin wrote:
Sergunka wrote:
Medium-rare wrote:
Sergunka wrote: wss:\\192.23.12.34\{id}
А, без DNS, нормально, если там по IP правильный сервер.
Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
Есть стандартные функции типа getaddrinfo(), gethostbyname() которые превратят имя в IP.
Отец родной, есть ли пример кода. У меня клиентура реально упоротая найдут тысячу причин чтоб ничего не делать. :o
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Medium-rare wrote:
Sergunka wrote: Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
Не понятно, зачем там IP, но если он фиксированный, то должно работать. У нас везде с вебсокетом есть DNS к Heroku. Никакой проблемы, всё же изначально на C и C++ и сделано. Фреймворк Qt просто обёртка, одна из удобных и для любой платформы. А, вспомнил, back end нам через REST посылает URL для websocket в сессии, вот как. Сессия же индивидуальна и очень длинная. Сокет надо определённый открыть, и держать открытым.
Это хорошо у нас под Cloud Foundry то же самое что на Хероку бегает. В чем то там затык раз endpoint приходится через рест отсылать.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Пример по вебсокет клиенту для C++

Post by Boriskin »

Sergunka wrote: Отец родной, есть ли пример кода.
У меня клиентура реально упоротая найдут тысячу причин чтоб ничего не делать. :o
http://www.binarytides.com/hostname-to- ... ets-linux/" onclick="window.open(this.href);return false;
http://stackoverflow.com/questions/5444 ... stname-etc" onclick="window.open(this.href);return false;

это типа С, но имхо должно и на винде работать
Тупизна как Энтропия. Неумолимо растет.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Пример по вебсокет клиенту для C++

Post by Мальчик-Одуванчик »

Sergunka wrote: У меня клиентура реально упоротая найдут тысячу причин чтоб ничего не делать. :o
Наверняка просто знают сколько геммора с этим будет когда придется балансировать нагрузку, пробрасывать виртуальные IP на физические и тд..
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Пример по вебсокет клиенту для C++

Post by Sergunka »

Medium-rare wrote:
Sergunka wrote: Там как раз без ДНС никуда так как сервер в облаке и у него IP назначается динамически. Вообще насколько это в С++ "неразрешимая проблема"?
Не понятно, зачем там IP, но если он фиксированный, то должно работать. У нас везде с вебсокетом есть DNS к Heroku. Никакой проблемы, всё же изначально на C и C++ и сделано. Фреймворк Qt просто обёртка, одна из удобных и для любой платформы. А, вспомнил, back end нам через REST посылает URL для websocket в сессии, вот как. Сессия же индивидуальна и очень длинная. Сокет надо определённый открыть, и держать открытым.
Посмотрел протокол (добрые люди с сквл.ру подсказали)
https://tools.ietf.org/html/rfc6455#section-1.2" onclick="window.open(this.href);return false;

походу IP не нужен все идет через ДНС.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
roadman
Уже с Приветом
Posts: 707
Joined: 12 Mar 2003 22:29
Location: Moscow->Bay Area, CA

Re: Пример по вебсокет клиенту для C++

Post by roadman »

До того как дело доидет до протокола, нужно сокетное соединение установить и там нужен IP.
Boriskin уже написал, что "gethostbyname" нужно.
https://msdn.microsoft.com/en-us/librar ... 24(v=vs.85" onclick="window.open(this.href);return false;).aspx
The philosophy of one century is the common sense of the next. --Henry Ward Beecher

Return to “Вопросы и новости IT”