Boost Asio and Web Sockets? - boost-asio

Does anyone know of any attempt to implement the Web Sockets API using Boost asio?

I realize this is an old thread, but wanted to update to help those looking for an answer: WebSocket++ fits the bill perfectly. Wt is an entire framework and may be more than many people want.

Wt implemented WebSockets on top of boost::asio.

Beast is another project, demonstrated at CppCon 2016 and used in rippled, an open source server application that implements a decentralized cryptocurrency system.
Also see this related question.

The closest example I know of anyone doing anything remotely like what you're asking is the Mongoose project. There is an increasing amount of discussion on the Mongoose mailing list about persistent connections for HTTP - but that's obviously not exactly Web Sockets. I would hope that someone would be able to add Web Sockets to it, too, eventually.

Related

How to implement an OAuth 2 Server

I want to create an OAuth 2 Server mainly for self education purposes. I do understand the concepts the OAuth framework is based on and I do understand the the authentication process(what is send/received and why).
I'm pretty familiar with java and the Spring framework as such my intentions are to use this technologies.
My question is, In order to implement an OAuth 2 Server:
Do I just follow the rfc6749 to the letter and write my code based on this? Handling everything by my self? from the data and how its stored in the database(if a database is used) to serving the same error/message response?
Do I use a dependency or a library maybe, which will prevent me from reinventing the wheel (as far as OAuth 2 is concerned)?
Or is there and already free service which I can install and does exactly with some minor configurations.
Thanks in regards. :)
If you're writing something new from scratch, I would recommend you would take a look at the upcoming OAuth 2.1 spec. Largely compatible with OAuth2, but there's a few features removed and some stuff added. It might be worth starting off with something that's immediately the bleeding edge.
Yes, probably. Unless you can't find a good one?
Yes, there's open source implementations and free hosted services.
I think what you want is Keycloak.
Thanks.

What are the WebRTC samples at https://webrtc.github.io/samples/ supposed to do?

I am trying to work with the WebRTC samples from https://webrtc.github.io/samples/.
IIUC, these should be quite up to date and original minimal samples that will help to understand the technology.
So I am looking for example at https://webrtc.github.io/samples/src/content/peerconnection/pc1/
which is supposed to be Peer Connection Demo.
Despite this is supposed to be Peer connection demo, all it does is to show me my own camera on one machine. Even if I start it on two machines, I see my own camera picture on each one.
If I read the code, I can find hints that this is supposed to make a connection between two machines, yet I fail to understand how. Nowhere on the site it is asking for a peer name, room name or anything which would identify the other party to call.
Am I missing anything here.
I know there are plenty of other WebRTC conference solutions out there on the web for demo purposes, but they all are so much more complex. I am looking for a simple 1:1 demo with source which will allow be to embrace the concept.
Look at the companion project apprtc or steps 7 and 8 of the WebRTC codelab
Having a "peer" requires an enormous amount of effort such as running a signaling server. The samples project only aims to demonstrate how to use APIs and does avoid the signaling topic by calling the API functions on another object in the same page.
I changed the demo code myself on: http://wx.qibu.net.cn/home/demo, using signalR for websocket. you can run it between different PC
The demo code should be separate and use stun and turn servers if necessary

How to start with a DBMS project

We are supposed to make a web-based project using postgres. The topic is library management system, where on a website a user can search whether a book is available in the library, if it is present then where, and so on.
The problem is just that I don't know anything about web development. I do have a pretty good knowledge of sql, but I'm confused a bit in that too, because I don't know if I'll just have to run the queries in my laptop in postgres and link if it "somehow" to the website, or will I have to upload my data on some server (for eg., firebase in case Android development) to be used in my website.
So briefly, I've just two questions:-
How should I start, because I have no idea where to begin with(I do have all the data needed btw)?
About postgres, will the queries run on my laptop or some server?
Please help me with this. Some online resources for the same are way more than just welcome, because I was unable to find any. Thank you!
First of all, you'd take a look at some design pattern in order to learn some theory on how to make (web) apps in the right way. You can visit Martin Fowler's web site and read them.
Once studied, you'd follow my advice. If you've got Java expetise, I'd start by learning Spring Boot, which has every piece you need to achieve your goal. This project follows lot's of design patterns (MVC, Repository, DAO, AOP, IoC/DI...) and lets you follow others (DTO). Anyway, choose the right template engine (I like Thymeleaf) or any other framework (Angular 2...).
Hope it helps.
welcome to development world. When starting out it seems very confusing but it is not that much.
Start slow, there are many tutorials across which helps.. just do a bit of google.
To answer your question :
How should I start, because I have no idea where to begin with(I do have all the data needed btw)?
-- Google simple website with postgres db. For that you will require the database to be installed and a webserver on your machine. All of which will be used when you host the website
About postgres, will the queries run on my laptop or some server?
-- It will run on where you have installed the database..
hope this helps :)

https for facebook applications

Read a lot about the new guidelines for facebook developer,
but i got know real answer about this:
Do I realy need a https-website to get an app running?
Anyone got it running via ssl-proxy?
Thx Sven
Not really a stackoverflow.com question, nor is this (1) something not covered by Facebook already (see http://developers.facebook.com/blog/post/497/). In short, yes, you must have SSL-ready server.
As for (2) stackoverflow.com is not a platform meant to advertise products. Your most likely answer is http://godaddy.com (personally not using any godaddy.com services and would not recommend them for any other reason that price).
There are a lot of alternatives, e.g. http://networksolutions.com, http://rapidssl.com (see http://www.cheapssls.com/ for more offers).

Is it possible to programmatically talk to MSN messenger / Live messenger?

I've been researching how to interact with the MSN messenger / Live messenger service programmatically and I can't find any real documentation on this. The documentation for the Live services only seem to implement in Javascript (they're here: http://dev.live.com/Messenger/)
It would be possible to reverse engineer this API to obtain the web services that it is actually using, but I am guessing that they didn't provide the sources for a reason (which means that those web services aren't meant for direct access).
However I can't find any other official APIs that allow programmatic access (more specifically no APIs that mention sockets, web services, or a proper programming language like Java or .Net).
Does anyone know if an API like that exists?
Check out LibPurple, which is the library underlying the pidgin multi-protocol IM client.
The open source pidgin does it, so maybe have a look ?
MSNP-Sharp is a very good C# API.
You haven't stated what your purpose is, but maybe you can use source code of alternative clients like pidgin, amsn or centerim to access msn live network and use whatever service you want. I cannot point you to any documentation but you can use their source code if you want.
Is C proper enough?
I would take a look at msn-pecan - A WLM plugin for Pidgin
Let me clarify what I'm going to use it for. We want a viable solution to be able to connect to MSN messenger from Flash, we can't connect directly because flash is a bit bonkers and doesn't like to open socket connections to a domain unless it's invited.
So we'll need to construct a proxy server in a proper language (which obviously we'd like to support other protocols too, so that'll work quite nicely with lib purple). We don't have any experience in house of C, so it would have been preferable to keep it in Java, which is what our team is experienced in, but there really don't seem to be any decent APIs for Java, or APIs that Java could interact with.
Nevertheless, thanks for the suggestions chaps. They look very useful.
The Java MSN Messenger Library is also pretty good.