How to enable websocket option in Azure bot service? There is a websocket option available in the app service application settings but it is missing in bot service.
I'm running a nodejs bot with sample template and added websocket.
"use strict";
var builder = require("botbuilder");
var botbuilder_azure = require("botbuilder-azure");
var path = require('path');
var useEmulator = (process.env.NODE_ENV == 'development');
var WebSocket = require('ws');
var wss = new WebSocket.Server({ port: process.env.PORT || 8080 });
var connector = useEmulator ? new builder.ChatConnector() : new botbuilder_azure.BotServiceConnector({
appId: process.env['MicrosoftAppId'],
appPassword: process.env['MicrosoftAppPassword'],
stateEndpoint: process.env['BotStateEndpoint'],
openIdMetadata: process.env['BotOpenIdMetadata']
});
var bot = new builder.UniversalBot(connector);
bot.localePath(path.join(__dirname, './locale'));
bot.dialog('/', function (session) {
session.send('You said ' + session.message.text);
});
if (useEmulator) {
var restify = require('restify');
var server = restify.createServer();
server.listen(3978, function() {
console.log('test bot endpont at http://localhost:3978/api/messages');
});
server.post('/api/messages', connector.listen());
} else {
module.exports = { default: connector.listen() }
}
This is the client side code
var ws = new WebSocket('ws://localhost:8080');
ws.onopen = function() {
console.log('connected');
};
ws.onclose = function() {
console.log('disconnected');
};
ws.send('test message from websocket client')
This is working perfectly in the local emulator but I'm getting 503 response code when I tried to connect the azure server
var ws = new WebSocket('ws://mybotname.azurewebsites.net');
Also I tried with port 8080 then I'm getting connection timeout error.