В моем приложении node js понадобилась отправка сообщений на websocket. Я решил что надо написать клиента websocket серверу. Вот пример:
var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();
client.on('connectFailed', function(error) {
console.log('Connect Error: ' + error.toString());
});
client.on('connect', function(connection) {
console.log('WebSocket Client Connected');
connection.on('error', function(error) {
console.log("Connection Error: " + error.toString());
});
connection.on('close', function() {
console.log('echo-protocol Connection Closed');
});
connection.on('message', function(message) {
if (message.type === 'utf8') {
console.log("Received: '" + message.utf8Data + "'");
}
});
});
client.connect('ws://192.168.0.180:8080/', 'echo-protocol');
Как отправить сообщение из обработчика события, где уже произошел connect, это понятно, в данном случае connection.sendUTF например. А как отправить сообщение не через обработчик события я не понимаю. Пробовал client.sendUTF, client.send и тп - все без толку... При запуске пишет что не найдена функция. Пробовал вручную найти метод, не нашел, в документации тоже нету. Как отправить сообщение не из обработчика события connect?
Проблема у Вас в том что client и connection разные объекты(разных "классов"). Для решения вашей задачи надо как-то сохранить переменную соединения
var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();
var _connection = null;
client.on('connectFailed', function(error) {
console.log('Connect Error: ' + error.toString());
});
client.on('connect', function(connection) {
console.log('WebSocket Client Connected');
connection.on('error', function(error) {
console.log("Connection Error: " + error.toString());
_connection = null;
});
connection.on('close', function() {
console.log('echo-protocol Connection Closed');
_connection = null;
});
connection.on('message', function(message) {
if (message.type === 'utf8') {
console.log("Received: '" + message.utf8Data + "'");
}
});
});
function Send(data){
if (_connection === null){
throw 'Not connect';
}
_connection.send(data); //не ведаю какое у вас апи подставьте свой метод
}
client.connect('ws://192.168.0.180:8080/', 'echo-protocol');
Тут есть одна проблема вам в любом случае нужно каким-либо способом дожидаться события соединения что-бы корректно начать обмен. Можно написать какой-то контроллер и биндить его.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вот код, генерируем строки, в строках по 4 ячейки в последней ячейке кнопка с с вызовом модального окна, вот когда на нее нажимаешь открываются...
Есть вот такой скрипт, по нажатию кнопки, создает строку таблицы, возможно ли сделать чтобы генерируемый имел ввид к примеруСуть в том чтоя...
При выполнении лабораторной работы возникла вот такая проблемаПервое поле задаёт нижнюю границу диапазона чисел, а второе - верхнюю