Второй объект JavaScript, который содержит подключение к WebSocket, не подключается должным образом. Что я сделал неправJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Второй объект JavaScript, который содержит подключение к WebSocket, не подключается должным образом. Что я сделал неправ

Сообщение Anonymous »

Я работаю над веб-панелью для управления серией лабораторных инструментов. Каждый инструмент, при подключении к моему компьютеру через USB, имеет интерфейс WebSocket, который позволяет мне читать данные из инструмента. Поскольку я хочу подключить любое количество инструментов к панели инструментов, я сделал объект прибора в JavaScript, который выглядит следующим образом: < /p>

Код: Выделить всё

class instrument {
constructor(id, name, model, ws_connection) {
super(id, name, model);

this.connection_point = ws_connection;

this.extra_info = {
isConnected: false
}

}

async connect() {
this.socket = new websocket('ws://'+this.connection_point+':6402');
this.socket.onmessage = this.onMessage.bind(this);
this.socket.onopen = this.onOpen.bind(this);
this.socket.onclose = this.onClose.bind(this);
this.socket.onerror = this.onError.bind(this);

await new Promise((resolve, reject) => {
this.socket.onopen = resolve;
this.socket.onerror = reject;
});

this.extra_info.isConnected = true;

}

onMessage(event) {
//Code that handles data
}

onOpen(event) {
this.extra_info.isConnected = true;
}

onClose(event) {
this.extra_info.isConnected = false;
}

onError(event) {
console.log(event);
}

//Other code here handles the data processing
}
< /code>
Я понял, что, работая на моей приборной панели, если у меня есть один инструмент, у меня нет проблем. Однако, когда я пытаюсь подключить два инструмента, второй инструмент зацикливается.const websocket = require('ws');
const instrument = require("./api/instrumentClass");

const myInstrument1 = new instrument(1, 'test', 'test', '1.1.1.1');

myInstrument1.connect().then(e => {

console.log("1: Connected");

}).catch((e) => {
console.log("1: Error");
});

const myInstrument2 = new instrument(1, 'test', 'test', '2.2.2.2');

myInstrument2.connect().then(e => {

console.log("2: Connected");

}).catch((e) => {
console.log("2: Error");
});
и Myinstrument1 , так и Myinstrument2 подключены к моему компьютеру "1: подключен" будет появляться в консоли, а затем через 20 секунд я получу " 2: ошибка »в консоли. Я хотел бы иметь это, чтобы я мог сделать любое количество объектов «инструмента» из моей панели приборной панели, чтобы я не хочу инструментов хардкодов на приборной панели. У меня есть опыт информатики, но есть некоторый опыт работы с дипломной работой, поэтому я прошу прощения, если проблема тривиальна или если мой код неаккуратный. Я действительно новичок в веб -питаниях, поэтому я не уверен, что я сделал неправильно. Я бы признателен за любые советы о том, как решить эту проблему!

Подробнее здесь: https://stackoverflow.com/questions/793 ... necting-pr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»