Skip to content
Snippets Groups Projects
Commit 33d245bd authored by Alessandro Ambrosano's avatar Alessandro Ambrosano Committed by Daniel Peppicelli
Browse files

[NRRPLT-1842][NRRLPT-1860] Added the possibility connect to a custom remote gzserver

Change-Id: I3f174db3d8a7f76b8059173dfe4b3c4136fa15c1
parent 729725ff
No related branches found
No related tags found
No related merge requests found
build/
gzbridge/build/
http/
node_modules/
......@@ -32,13 +32,37 @@ GZNode::GZNode()
return;
}
this->ConnectGzServer();
};
GZNode::GZNode(const v8::Arguments& args) {
isGzServerConnected = false;
if (args.Length() != 2) {
ThrowException(Exception::TypeError(
String::New("Wrong number of arguments")));
return;
}
v8::String::Utf8Value v8host(args[0]->ToString());
std::string host = std::string(*v8host);
int port = args[1]->IntegerValue();
if (!gazebo::transport::init(host, port)) {
return;
}
this->ConnectGzServer();
};
void GZNode::ConnectGzServer() {
isGzServerConnected = true;
gazebo::transport::run();
this->gzIface = new GazeboInterface();
this->gzIface->Init();
this->gzIface->RunThread();
};
}
/////////////////////////////////////////////////
GZNode::~GZNode()
......@@ -115,8 +139,11 @@ void GZNode::Init(Handle<Object> exports)
Handle<Value> GZNode::New(const Arguments& args)
{
HandleScope scope;
GZNode* obj;
if (args.Length() == 0) obj = new GZNode();
else if (args.Length() == 2) obj = new GZNode(args);
GZNode* obj = new GZNode();
obj->Wrap(args.This());
return args.This();
......
......@@ -32,6 +32,10 @@ namespace gzweb
private: GZNode();
private: GZNode(const v8::Arguments& args);
private: void ConnectGzServer();
private: ~GZNode();
private: static v8::Handle<v8::Value> New(const v8::Arguments& args);
......
#!/usr/bin/env node
if (process.argv.length != 2 && process.argv.length != 4) {
console.error('Server called with wrong parameters: usage ws_server [gzserver_host gzserver_port]')
process.exit(1);
}
var WebSocketServer = require('websocket').server;
var http = require('http');
var connections = [];
var materialScriptsMessage = {};
var addon = require('./build/Debug/gzbridge');
var gzconnection = new addon.GZNode();
if (process.argv.length == 2) {
var gzconnection = new addon.GZNode();
}
else {
// process.argv[2] is gzserver host, process.argv[3] is gzserver port.
var gzconnection = new addon.GZNode(process.argv[2], process.argv[3]);
}
if (gzconnection.getIsGzServerConnected())
{
gzconnection.loadMaterialScripts('../http/client/assets');
......@@ -19,7 +32,7 @@ if (gzconnection.getIsGzServerConnected())
gzconnection.getPoseMsgFilterMinimumAge());
console.log(' minimum XYZ distance squared between successive messages: ' +
gzconnection.getPoseMsgFilterMinimumDistanceSquared());
console.log(' minimum Quartenion distance squared between successive messages:'
console.log(' minimum Quaternion distance squared between successive messages:'
+ ' ' + gzconnection.getPoseMsgFilterMinimumQuaternionSquared());
}
else
......
#!/bin/bash
if [[ $# -ne 0 && $# -ne 2 ]]; then
echo "Usage: start_gzweb [gzsever_host gzserver_port]"
exit 1
fi
ulimit -c unlimited
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
......@@ -17,4 +22,12 @@ fi
./node_modules/.bin/http-server http/client &
cd gzbridge
./ws_server.js &
if [ $# -eq 0 ]; then
./ws_server.js &
fi
if [ $# -eq 2 ]; then
./ws_server.js $1 $2 &
fi
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment