mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-09 15:40:18 +00:00
Improved WebRTC support
This commit is contained in:
parent
92aaf754fb
commit
4106b322d6
16 changed files with 2854 additions and 128 deletions
10
public/samples/relay.htm
Normal file
10
public/samples/relay.htm
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="relay.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
var relay = createMeshConnection('0D49FDEFFB778D40C062DD34A3E96113:1485387591408:b2970207326684b4de5375d097db23c85e64497eaa72013b56a8ecd8063fb9b3').connect();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
48
public/samples/relay.js
Normal file
48
public/samples/relay.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/**
|
||||
* @fileoverview Dynamic interface to MeshCentral2
|
||||
* @author Ylian Saint-Hilaire
|
||||
* @version v0.0.1
|
||||
*/
|
||||
|
||||
var createMeshConnection = function (connectionId) {
|
||||
var obj = {};
|
||||
obj.connectionId = connectionId;
|
||||
obj.state = 0;
|
||||
obj.websocket = null;
|
||||
obj.onStateChanged = null;
|
||||
obj.onData = null;
|
||||
|
||||
obj.connect = function () {
|
||||
if (obj.state == 0) {
|
||||
obj.websocket = new WebSocket(window.location.protocol.replace('http', 'ws') + '//' + window.location.host + '/meshrelay.ashx?id=' + obj.connectionId);
|
||||
obj.websocket.binaryType = "arraybuffer";
|
||||
obj.websocket.onopen = function (e) { console.log('WebSocket Connected', e); };
|
||||
obj.websocket.onmessage = function (e) {
|
||||
console.log('WebSocket Message', e);
|
||||
if ((obj.state = 1) && (e.data == 'c')) {
|
||||
obj.state = 2;
|
||||
if (obj.onStateChanged) { onStateChanged(obj, 2); }
|
||||
console.log('WebSocket Peer Connection', e);
|
||||
obj.send('bob');
|
||||
} else {
|
||||
if (obj.onData != null) { obj.onData(obj, e.data); }
|
||||
}
|
||||
};
|
||||
obj.websocket.onclose = function (e) {
|
||||
console.log('WebSocket Closed', e);
|
||||
obj.state = 0;
|
||||
if (obj.onStateChanged) { onStateChanged(obj, 0); }
|
||||
};
|
||||
obj.websocket.onerror = function (e) { console.log('WebSocket Error', e); };
|
||||
obj.state = 1;
|
||||
if (obj.onStateChanged) { onStateChanged(obj, 1); }
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
|
||||
obj.send = function (data) {
|
||||
if ((obj.state == 2) && (obj.websocket != null)) { obj.websocket.send(data); }
|
||||
};
|
||||
|
||||
return obj;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue