В следующих функциях используется переменная connection
, но эта переменная находится вне области видимости, поскольку connection
определяется с помощью ключевого слова var
(local):
connection.onopen = function() {
connection.send('Connect ' + new Date());
};
function sendData() {
var data="#"+joystick.deltaX()+","+joystick.deltaY();
connection.send(data);
}};
Либо определите `connectionв качестве глобального значения:
connection = new WebSocket("ws://"+location.hostname+":81", ['arduino']);
Или используйте внутреннюю привязку / ссылку:
connection.onopen = function(e) {
e.target.send('Connect ' + new Date());
};
sendData = function() {
var data="#"+joystick.deltaX()+","+joystick.deltaY();
this.send(data);
}.bind(connection);
В противном случае инициализируйте соединение как глобальное и назначьте нагрузку следующим образом:
var connection;
window.onload = function() {
connection = new WebSocket("ws://"+location.hostname+":81", ['arduino']);
connection.onopen = function() {
connection.send('Connect ' + new Date());
};
connection.onerror = function(error) {
console.log('WebSocket Error ', error);
};
connection.onmessage = function(e) {
console.log('Server: ', e.data);
};};