
Aleksandr
29.06.2017
15:32:34
/socket.io/1/?t=1498750249900
_2sK1RZS1Nku7vy0be6o:60:60:websocket
где тут контекст который нельзя терять? я запросил согласование протоколов у любой ноды сокетио, они все одинаковые (что должно быть), я могу идти на любую и это сделает nginx на уровне http через ip-hash, если это все один клиент, ws это абстракция другого уровня

Vint
29.06.2017
15:42:19
Да более того, можно http вообще избежать, если сразу использовать транспорт websocket.
Но ip-hash даже в этом случае нужен для sticky.

Aleksandr
29.06.2017
15:43:44

Google

Aleksandr
29.06.2017
15:44:36
в терминах nginx, sticky это альтернативное название ip-hash, то был бесплатный модуль самописный, он уже не нужен

Vint
29.06.2017
15:45:53
Http нужен, если ты сразу хочешь старенький polling, а сервер и браузер соглашаются на websocket

Aleksandr
29.06.2017
15:47:08
Окей. А что использовать вместо?
ip-hash, он бесплатный, но для socket.io он в целом не обязательный, но можно и использовать. но это уровень абстракции HTTP, а не WS

Vint
29.06.2017
15:47:09
Про балансировку пакетов никто и не говорит. Балансировка только сокет-соединений между нодами.

Aleksandr
29.06.2017
15:48:37

Vint
29.06.2017
15:49:22

Aleksandr
29.06.2017
15:51:17

Vint
29.06.2017
15:52:09

Aleksandr
29.06.2017
15:52:42

Vint
29.06.2017
15:53:43

Aleksandr
29.06.2017
15:54:30

Google

Vint
29.06.2017
15:56:45

Aleksandr
29.06.2017
15:57:23
> А он (ip-hash) куцый по возможностям в бесплатной версии.
чем это? у nginx нет ограниченных фич насколько я знаю, либо опция платная либо нет
более того кроме ip_hash можно использовать и кастомный хэш

Vint
29.06.2017
16:01:02

Aleksandr
29.06.2017
16:05:55
http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#ip_hash
в мануале сокетио как раз разумно и указывают на его использование, он работает как нужно, без проблем и ограничений
спасибо Игорю, все самое насущное и нужное они публикуют великодушно бесплатно, так что из балансировки только тонкости мелкие платные

Vint
29.06.2017
16:13:31
Без проблем и ограничений, но и без возможности тюнинга. Равномерность без развесовки.

Никита
29.06.2017
16:15:17
Так.
А кто ярном пользуется?

Vladimir
29.06.2017
16:16:54
Ну-ка, ну-ка
Что там?

Aleksandr
29.06.2017
16:17:32
а расширять можно через openresty, сервера вообще как-то непросто расширяются)

Никита
29.06.2017
16:21:43
Что там?
Да мне интересно, в курсе ли его пользователи что он митмит все запросы к нпм через свой сервер.

Vladimir
29.06.2017
16:22:03
Нет
Большинство его пользователей вообще вряд ли задумывается о таком

Никита
29.06.2017
16:24:25
Они ещё и через cloudflare идут.

Google

Никита
29.06.2017
16:25:15
Cloudflare это вообще задница для всего интернета, если честно.

Vladimir
29.06.2017
16:28:41
Да ладно
Дело не в cloudflare

Никита
29.06.2017
16:30:19
А в чём?

Vladimir
29.06.2017
16:30:56
В людях, которые его используют

Никита
29.06.2017
16:31:19
Он вполне успешно делает чтобы таких людей было больше.
https://www.theregister.co.uk/2017/06/27/100m_to_write_a_cloudflare_web_app/

Vladimir
29.06.2017
16:31:41
Они ведь добровольно это делают

Никита
29.06.2017
16:32:04
Ну и?
Это не отменяет того, что cloudflare зло.
cloudflare вполне успешно централизует интернет, и он в этом преуспел гораздо сильнее, чем рф или китай.

Vladimir
29.06.2017
16:33:06
Это означает лишь что в этом есть потребность

Никита
29.06.2017
16:35:55
На самом деле нет.
В большей части случаев он реально не нужен.
И его ставят просто потому что не осилили letsencrypt.
В итоге Cloudflare на текущий момент заMitMил 6% всех сайтов, 13% из топ-100к, и 16% из топ-10к.
И работает в обход https, то есть свободно читает трафик.

Vladimir
29.06.2017
16:40:10
Ну это вроде бы всем очевидно

Ҫѐҏӗѫӑ
29.06.2017
17:02:53
ярн уже не ходит через свою проксю вроде
или снова ее включили?
так-то я давно писал, что его некоторые его юзеры сдают пакеты, которые юзают

Google

Ҫѐҏӗѫӑ
29.06.2017
17:04:37
но потом вроде бы они это отключили
пару месяцев назад

Aleksandr
29.06.2017
17:09:34

Sergey
29.06.2017
17:25:54
А есть международная группа по js, в телеграмме?
А то в эту иностранцам вход запрещен
Странно. Почему

Aleksandr
29.06.2017
17:27:24

Vladimir
29.06.2017
17:30:44

Admin
ERROR: S client not available

Sergey
29.06.2017
17:36:43

Aleksandr
29.06.2017
17:38:13
Это как выглядит?
очень просто, отхуесосили (по другому и не назвать) тут грека бедного, прям с порога

Vladimir
29.06.2017
17:40:33
А, это может быть

OXXXRAa
29.06.2017
17:51:23
Ааа, помогите новичку, пожалуйста.
res.sendFile is not a function
Что делать?

Nikolay
29.06.2017
17:53:22
снимать штаны и бегать
где код, где стек, гадалки в отпуске
OXXXRAa

OXXXRAa
29.06.2017
17:54:36
const app = require('express')();
const http = require('http').Server(app);
const fs = require('fs');
const io = require('socket.io')(http);
app.get('/', function (res, req) {
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function (socket) {
console.log('New connection');
});
http.listen(2000, function () {
console.log('START');
});

Google

Nikolay
29.06.2017
17:55:37
express какой версии?

OXXXRAa
29.06.2017
17:56:02
Хз, как узнать
?

Alexander
29.06.2017
17:56:40
Чекни версию в node_modules/express/package.json

OXXXRAa
29.06.2017
17:57:13
Ок, сейчас

Alexander
29.06.2017
17:57:42
Я нашёл ошибку
Названия аргументов перепутал местами в роутах
Сначала идет req, а потом res
Поменяй и все будет ок

Nikolay
29.06.2017
17:58:41
)

OXXXRAa
29.06.2017
17:59:23
express@3.4.5
А, сейчас попробую.
Отлично, огромное вам спасибо:)
Учту, что аргументы нельзя путать местами.

Alexander
29.06.2017
18:01:10
?

Nikolay
29.06.2017
18:02:25
их помоему ни в одном языке нельзя путать

Yaroslav
29.06.2017
18:04:29

Nikolay
29.06.2017
18:04:50
1с порождение ада

Yaroslav
29.06.2017
18:05:14
^_^

Юрий
29.06.2017
18:07:28

Nikolay
29.06.2017
18:07:46
а это уже читерство