websocket отправляет усеченную строку в Azure (служба приложений)? - PullRequest
0 голосов
/ 30 сентября 2018

Я делаю простое клиент-серверное приложение, в котором клиент отправляет команду через соединение WebSocket на сервер, а сервер отвечает на основании команды клиента и возвращает клиенту строку.Я протестировал код для запуска в локальной системе без каких-либо проблем, но когда я публикую сервер в Azure как службу приложений, когда сервер отправляет строку обратно клиенту, строка усекается до 3963 символов (оригинал - 5006).Это ограничение службы приложений Azure?Эта проблема возникает только в Azure, но не локально.

const ws = new Websocket({
httpServer: server,
autoAcceptConnections: false
});

const clients = [];

ws.on('request', (req) => {
const connection = req.accept('', req.origin);
clients.push(connection);
console.log('Connected ' + connection.remoteAddress);
connection.on('message', (message) => {
    const dataName = message.type + 'Data';
    const data = message[dataName];
    console.dir(message);
    console.log('Received: ' + data);
    var msg_sent = data;
    clients.forEach((client) => {            
        // Don't send the data back to the original sender
        if (connection == client) { // don't send the message to yourself
            //console.log(msg_sent.toString());
            // Execute every command with non-blocking
            var subMsg = msg_sent.toString().split('\0');

            for (var j = 0; j < subMsg.length; j++) {
                if (subMsg[j] == '')
                    continue;
                Command(subMsg[j], client);
                }
            //Command(msg_sent, sockets[i]);            
        }           
    });
});
connection.on('close', (reasonCode, description) => {
    console.log('Disconnected ' + connection.remoteAddress);
    console.dir({ reasonCode, description });
});

});

1 Ответ

0 голосов
/ 01 октября 2018

Найдена причина, сервер отправляет сообщение кусками.

...