Запуск node js приложения на iis

Установка Node Js
1.Устанавливаем nodejs https://nodejs.org/en/ (ставить последнюю LTS версию)
2.https://github.com/tjanczuk/iisnode — от сюда устанавливаем расширение для iis (см. Installing for IIS 7.x/8.x)

Настройка IIS

1. https://www.iis.net/downloads/microsoft/url-rewrite устанавливаем расширение для iis

2. Перезагрузить сервер

Статьи:

https://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx

https://tomasz.janczuk.org/2013/01/hosting-socketio-websocket-apps-in-iis.html

Создание клиента socket.io на c# для nodejs

1. Создаем консольное приложение
2. Install-Package SocketIoClientDotNet

using System;
using Quobject.SocketIoClientDotNet.Client;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var socket = IO.Socket("http://localhost:5000/server.js");
            socket.On(Socket.EVENT_CONNECT, () =>
            {
                socket.Emit("message", "0");
 
            });
 
            socket.On("hi", (data) =>
            {
                Console.WriteLine(data);
                socket.Disconnect();
            });
            Console.ReadLine();
        }
    }
}

Статьи:

https://github.com/Quobject/SocketIoClientDotNet

Отладка в nodejs

Актуально для версии Node JS 8.9.0

Устанавливаем:
npm install —global node-inspect

Выполняем команду: node —inspect-brk [filename].js

Должен открыться chrome для начала отладки

Полезные статьи.

https://nodejs.org/en/docs/inspector

https://nodejs.org/api/debugger.html

https://github.com/nodejs/node-inspect

HTTP-сервер Hello World

Обычно Node применяется для программирования серверов. В Node очень просто

создавать различные типов серверов. Если вы ранее занимались

программированием серверов, то знаете, что сервер является хостом для

приложения (например, для PH P-приложения хостом является H TTP-сервер

Apache). В Node между сервером и приложением нет никакой разницы.

Вот пример HTTP-сервера, который в ответ на любой запрос выводит сообщение

«Hello World»:

var http = require(‘http’);

http.createServer(function (req, res) {

res.writeHead(200, {‘Content-Type’: ‘text/plain’});

res.end(‘Hello World\n’);

}).listen(3000);

console.log(‘Server running at http://localhost:3000/’);

В ответ на запрос вызывается функция обратного вызова function (req, res) и на

экране появляется ответ «Hello World». Эта модель событий напоминает

прослушивание события onclick в браузере. Поскольку щелчок мышью может

произойти в любой момент, следует воспользоваться функцией, реализующей

нужную для этого случая логику. В Node имеется такая функция, которая

откликается на поступивший в любой момент запрос.