Comments (6)
As a suggestion, you might want to do rebases instead of merges if the intention is to get your branch merged back into upstream autobahn-cpp.
We've also recently split out https://github.com/tplgy/json-msgpack from bonefish which handles JSON/msgpack conversions with a minimal amount of extra copies, we should probably also move the WAMP-specific binary handling into that project and see if it can be switched to the Boost license as well.
from autobahn-cpp.
May I ask you a couple of questions?
What would you recommend on how to implement switch between websocket frames and raw byte exchange via TCP?
Also, I'm using websocketpp to construct frames which introduces new dependency, maybe I should use some other library?
from autobahn-cpp.
@CepGamer from the spec (on rawsocket handshake):
The first octet is a magic octet with value "0x7F". This value is
chosen to avoid any possible collision with the first octet of a
valid HTTP request (see here [6] and here [7]). No valid HTTP
request can have "0x7F" as its first octet.
By using a magic first octet that cannot appear in a regular HTTP
request, WAMP-over-RawSocket can be run e.g. on the same TCP
listening port as WAMP-over-WebSocket or WAMP-over-LongPoll.
but only WAMP routers need to make that distinction (if they want to support websocket + rawsocket running on same port) anyway - not clients.
rgd websocket: websocketpp is just fine. I would not use a different lib nor reinvent the wheel.
from autobahn-cpp.
So you can not connect to servers with http/wamp mixed protocols? I think in AutobahnJS it works, doesn't it?
from autobahn-cpp.
@Bobface Yes, it works in JS and Python (the ones I checked), but, unfortunately, I may only use C++ in my code.
from autobahn-cpp.
As mention, RawSocket has facilities to support running besides WebSocket on one TCP port.
This is not using HTTP upgrade mechanism, and is a router-side feature - there is nothing to implement in WAMP clients.
from autobahn-cpp.
Related Issues (20)
- rump unikernel support
- How to use same session for calling different remote procedure HOT 1
- Content of CALL error not compatible with other WAMP clients HOT 1
- Exporting autobahn_cpp interface
- CMake installation skips two files HOT 3
- Rel 20.8.1 HOT 2
- Create single-threaded concurrent caller example HOT 2
- C++20-only? HOT 2
- Publish to conan.io/center HOT 3
- Run examples in CI
- Build and publish docs as part of CI
- 404 on Example Code in Documentation
- make methods on_ws_... protected on wamp_websocketpp_websocket_transport HOT 3
- send_message on wamp_session::process_goodbye throws always HOT 5
- reconnection could be handled when the need is directly noticed on transport level
- WampRawSocketServerProtocol.stringReceived: WAMP ProtocolError - aborting connection! HOT 8
- How to get map with C++ API
- Failing WebSocket connection (code=1002) HOT 2
- wamp_session::process_challenge protocol_error throws will crash the application HOT 6
- Handling IP addresses in provided procedures HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autobahn-cpp.