Я использую Electron, и мне нужно иметь возможность отправлять/получать с сервера с помощью сокетов tcp. У меня настроен клиент, и я могу отправлять на сервер (я могу подтвердить, что сервер получает эти строки).
Однако я не могу понять, как «слушать/читать» с сервера, когда он отвечает мне. Это функция, которую я использую для связи между моим клиентом и сервером сокетов.
var net = require('net');
function mySocket(message){
socketClient = net.connect({host: MY_IP, port: MY_PORT}, () => {
socketClient.setEncoding('utf8');
socketClient.write(message);
});
socketClient.on('data', (data) => {
alert(data);
});
socketClient.on('end', () => {
alert('Disconnected');
});
}
Успешное выполнение этой функции отправляет сообщение на сервер:
"mySocket('Hello, its me)"
Однако «чтение» не работает. Сервер отправляет ответ, но мой клиент не может его прочитать, чтобы показать мне.
Что я делаю неправильно?
Примечание: сервер не является сервером Node.JS. Это простой сервер сокетов, сделанный, я думаю, на Паскале. Я могу отправлять/получать ответы с этого же сервера, используя сокеты TCP в Android, Java, Ruby и многих других, поэтому он должен работать с Electron.
@snwflk, я добавил MCVE (кажется). Спасибо за предложение.





Может быть, это потому, что вы работаете в браузере, используете ли вы электронное приложение websockets? веб-сокет против сокета
Это должен быть комментарий, а не ответ
Пользователям нужно 50 повторений, чтобы прокомментировать. Это всегда сбивает меня с толку.
Извините, дамы, просто пытаюсь помочь кому-то здесь, хе-хе :)
Привет, @leandrojesus-programmer, добро пожаловать в Stackoverflow. Я не использую веб-сокеты.
@OscarValdezEsquea спасибо: D, вы должны попробовать использовать веб-сокеты в своем электронном приложении вместо обычных сокетов.
Я не могу использовать веб-сокеты, потому что мне нужно подключиться к существующей службе, и она работает под сокетом tcp/ip. Я подумал, что веб-сокеты могут быть лучшей альтернативой, но, к сожалению, это не то, с чем я могу работать в этом конкретном случае. Я ценю ваше предложение, хотя.
Небольшой код, который вы разместили, не является причиной вашей проблемы. Нам нужен MCVE (stackoverflow.com/help/mcve). Скорее всего, вы обнаружите проблему, когда будете делать MCVE.