Skip to content

Simple Web and WebSocket server, specially for sites that use Simbol

License

Notifications You must be signed in to change notification settings

wearesimbol/simbol-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simbol server

A simple HTTP and WebSocket server built on top of Iron and ws. Easily get started with a Simbol app

Quick start

In the root directory of you web project, create a server directory for the Rust server:

mkdir server
mkdir server/src
cd server

Create a Cargo.toml and add the dependency to it:

[dependencies]
simbol-server = "1.0.0"

Create a main.rs file in the server/src directory with the following content:

extern crate simbol;

use std::thread;
use simbol::server::*;
use simbol::multivp::*;

fn main() {
    let mut routes: Vec<Route> = Vec::new();
    routes.push(Route {
            mount_path: String::from("/build/"), // Mount path, referring to which part of the URL it takes care of
            relative_path: String::from("build"), // The actual relative path to the content from your project's root directory
    });
    routes.push(Route {
        mount_path: String::from("/assets/"),
        relative_path: String::from("assets"),
    });
    let server = SimbolServer::new(String::from("../"), 3000, routes);
    let http_handle = thread::spawn(move || {
        server.run_server();
    });

    let multivp_server = MultiVP::new(String::from("localhost"), 8091);
    let ws_handle = thread::spawn(move || {
        multivp_server.run_server();
    });

    http_handle.join().unwrap();
    ws_handle.join().unwrap();
}

This will create and run an HTTP server with the default roots to load:

  • index.html from /index.html
  • The different files in /*
  • Your assets, such as GLTF files, from /assets/
  • Your built files, such as your JS and CSS, from /build/

It will also create and run a WebSocket server for the multiVP (social) component of Simbol

Then run it:

cargo run

Contributing

Check out the Contribution guide! If you have any questions, join our community

License

This program is free software and is distributed under an MIT License.

About

Simple Web and WebSocket server, specially for sites that use Simbol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages