Welcome! Log In Create A New Profile

Advanced

Re: Нужен модуль.

November 26, 2012 10:30AM
Sergey Smitienko Wrote:
-------------------------------------------------------
> Механизма передачи сокета через sendmsg, который бы позволил nginx'у
> "забыть" про соединение в nginx нет. Еще раз обращаю внимание, что
> даже
> если бы nginx
> мог отсылать сокет через sendmsg, принимающее приложение должно уметь
> принять
> сокет и отработать соединение. При этом nginx уже считал из приемного
> буфера в ядре
> заголовки запроса, и вернуть заголовки обратно в ядро так, чтоб ваш
> демон получил на
> вход http запрос, а не просто сокет, ожидающий передачи данных, не
> представляется
> возможным.
>
> > Вот сейчас попробовал такой вариант.
> >
> > В конфиге nginx:
> >
> > location = /xxx/daemon.js {
> > proxy_pass http://unix:/tmp/node/test:/;
> > }
> >
> > В ноде :
> > http.createServer(function (req, res) {
> > ......
> > }).listen('/tmp/node/test');
> >
> > Все работает, запросы с этого location передаются ноду и там
> обрабатываются,
> > но опять таки nginx держит сокет, а надо - передал и забыл.
> >
> > Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,233223,233225#msg-233225
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Вот кусок кода из модуля к nginx который работает у меня с 2004 года и занимается как раз тем что я прошу.
if (!error) {
buf[0] = 0; /* null byte flag to recv_fd() */
mysent = sendmsg (sockfd, &msg, 0);
if (mysent == -1)
rc = send_error(r, strerror(errno));
else
//if ok, and now the socket in the voc-daemon, let's tell nginx to close it:
rc = NGX_HTTP_CLOSE;
}
}//end of if connect
close(sockfd);
}//end of if socket()

Всё работает как надо. Но переделывать его у меня не хватает знаний.
Subject Author Posted

Нужен модуль.

Vipper November 26, 2012 08:14AM

Re: Нужен модуль.

Sergey Smitienko November 26, 2012 08:42AM

Re: Нужен модуль.

Vipper November 26, 2012 10:07AM

Re: Нужен модуль.

Sergey Smitienko November 26, 2012 10:18AM

Re: Нужен модуль.

Vipper November 26, 2012 10:30AM

Re: Нужен модуль.

Sergey Smitienko November 27, 2012 04:12AM

Re: Нужен модуль.

Vipper November 28, 2012 02:52AM

Re: Нужен модуль.

Валентин Бартенев November 26, 2012 10:18AM

Re: Нужен модуль.

Vipper November 26, 2012 10:24AM

Re: Нужен модуль.

Vipper November 26, 2012 10:25AM

Re: Нужен модуль.

Sergey Smitienko November 26, 2012 10:30AM

Re: Нужен модуль.

Vipper November 26, 2012 10:38AM

Re: Нужен модуль.

Валентин Бартенев November 26, 2012 10:32AM

Re: Нужен модуль.

Anes Mukhametov November 26, 2012 10:24AM

Re: Нужен модуль.

Vipper November 26, 2012 10:27AM

Re: Нужен модуль.

Михаил Панфилов November 26, 2012 10:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 312
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready