Jump to content

x-httpd - a web server plugin for x-plane.


Ben Russell
 Share

Recommended Posts

Presenting x-httpd, a simple web server plugin for x-plane.

 

x-httpd is open source, written in C and C++.

The code is from 2005 so it needs a fair bit of work but it is functional.

 

I have placed the project under the GNU Affero GPL license version 3.

(Affero stops people from running a server with custom mods and not sharing the custom server source. This plugin is a server resource, it needs the Affero license variant.)

 

 

 

What's x-httpd good for?

 

x-httpd can be used to create web-apps that interact with X-Plane for use on your tablet smart phone or additional monitor.

 

x-httpd does not come with any "cool" web app content at this time.

 

Eventually this plugin should allow for remote IOS content, remote CDU, remote popups, etc, etc.

 

The CRJ already has a built in web server for its Remote CDU functionality.

 

This project gives the community a web server to build similar content with.

 

 

 

I know some Javascript and HMTL, how can I use this?

 

Download and install an x-httpd binay when they're made available*.

* The plugin still needs a little more work before I want to release a public build.

 

Create your HTML/script content inside the folder

X-Plane/resources/plugins/x-httpd.x-plugin/root/html/

 

 

 

Interact with X-Plane using these commands:

 

/get?dref=sim/foo&type=float

 

returns:

{ result:true, type:"float", value:3.21, dref:"sim/foo" }

 

 

/set?dref=sim/foo&type=float&val=3.21

 
returns: {result:true }

 

 

 

 

Do you support Linux?

 

The code is written in a way that should be trivial to port to all three operating systems.

 

The aim of this project is to provide a basic web server that can allow all X

 

 

 

 

Project AIm?

 

Remove the roadblock stopping people from building some awesome remote instruments using modern browsers.

 

 

 

 

Project Source code etc:

https://github.com/benrussell/x-httpd

Edited by Ben Russell
  • Upvote 3
Link to comment
Share on other sites

Weather adjustment page; yes.

 

This project is restricted to simple dataref changes at the moment, more abilities and possibilities will come in future.

 

 

We seem to be at a stage where multiple parties are interested in extending their product reach to tablets. 

Hopefully we can focus the work into one web-server plugin to do it instead of a new server and new user config burden for each product.

 

I'm going to create some HTML content for this thing to get the ball rolling.

There are a _lot_ of web programmers out there now that are super talented so I would expect to see some cool stuff emerge given time.

  • Upvote 1
Link to comment
Share on other sites

I have added some features to allow other plugins to talk to x-httpd to and have their content served.

Using standard X-Plane C SDK functions any other plugin can extend itself using the XPLMSendMessageToPlugin function.

 

Third party plugins have complete control over the data read from and sent to the client.

You get the complete http packet to play with.

 

If x-httpd is not installed the third party plugin will continue to operate as normal.

 

x-httpd is an entirely optional enhancement.

 

 

I've also added some features to Gizmo so we can interact with x-httpd..

We are no longer restricted to simple dataref get/set operations. Anything is possible.

 

 

Plenty of work remains to make the httpd server code more robust.

I'm more interested in integrating it with X-Plane in useful ways at this point.

"Correctness" with regards to socket operations and so forth can come a little later.

  • Upvote 1
Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...