Forum

B4W Server side

20 December 2016 15:38
I have had an idea for a server side implementation of blend 4 web. Currently i believe having a b4w node.js module built would be great and allow for really complex web applications to be built in minutes. For example after a user would npm install the b4w server module he would then from blender be able to add in the logic nodes a new node on the entry point to initialize the connection to the port or other relevant parameters and various options throughout blend4web could network the application for example indicating if objects in a 3d scene will send the transforms back to the server or ticking a check box on an animation trigger to be sent back to the server, maybe adding a "sync between clients" button on text elements or something of sorts. Maybe having two nodes for incoming data and outgoing data and a median shared data node would be a super flexible way to map out highly complex networked applications. I would assume the blend4web server would use webrtc for everything especially the data channel which i have witnessed send 1 gb in about over a minute time in a peer connection. This also makes me wonder if it would even be possible for the blend4webserver to act as a peer connection and serve the json files to the client peer in a fraction of the time of traditional scene loading removing the obstacle of using the browser to load 20-50mb scenes in long periods of time to instant scenes. Let me know what you guys think, and share the idea with the team because I definitely think it would make b4w go super sayan
22 December 2016 18:19
Hello! We have some developers with similar thoughts in mind . And we already made some experiments with nodejs. But today things like multiplayer networking through websockets or webrtc (actually my opinion is: the network engine should has both them) not in priority yet. But everything can change in the future, I hope

And about nodes, I think, that data replication should be transparent for developer. In this case it must be sufficient to turn on "replicable" flag for some character or physical object.
Alexander (Blend4Web Team)
26 December 2016 01:29
Very interested in seeing this, has to have a cool name. Also not sure i was being clear, but take a look at the datachannel speed

https://webrtc.github.io/samples/src/content/datachannel/filetransfer/

If this can be implemented from the server as a peer connection to the client side browser, then loading 50mb files would be as fast as the snap of a finger and possibly be a revolution in web applications.
26 December 2016 10:42
https://webrtc.github.io/samples/src/content/datachannel/filetransfer/

If this can be implemented from the server as a peer connection to the client side browser, then loading 50mb files would be as fast as the snap of a finger and possibly be a revolution in web applications.

Yeah, I know, and WebRTC is also available for Browser-Browser connections. My dream is to create fully-connected mesh like what is implemented in RakNet .
Alexander (Blend4Web Team)
27 December 2016 00:10
Webrtc Peer to peer mesh network liiike… P?!

https://github.com/unsetbit/p

Check that out it might be a nice kick start
30 December 2016 15:32
My dreams are about connecting peers using webrtc if it is available and using websocket if not. Also, doing ping optimization with adaptive traffic routing and automatic master host choosing/migration
Alexander (Blend4Web Team)
 
Please register or log in to leave a reply.