ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Нужен модуль.
  • From: "Vipper" <nginx-forum@xxxxxxxx>
  • Date: Wed, 28 Nov 2012 02:52:19 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=Q3j3d+dyd8ksMR+iX3KJzzOe2cR+suz8J5Lre5CtCCw=; b=ipN6jSTHMqctzg3abQ6HYWXtyqFK13ZjdQ9hgq1yhS4P95hv74yRPKPzlHALhI5Qqkb221ZxA7tLq6jrSFQwZRpS5bXzFRxuq2kgO0De4ZCCl2/HJhyO3nOKWb/u0qOf;
  • In-reply-to: <50B48371.6080107@comsys.com.ua>
  • References: <50B48371.6080107@comsys.com.ua>

Его получает демон, но написанный не на ноде как сейчас, а на С++.

Вот кусок:

                if (cmptr == NULL && (cmptr = (cmsghdr *) malloc
(CONTROLLEN)) == NULL)
                        return (-1);
                msg.msg_control = (caddr_t) cmptr;
                msg.msg_controllen = CONTROLLEN;
                if ((nread = recvmsg (servfd, &msg, 0)) < 0)
                        my_log ("recvmsg error\n");
                else if (nread == 0) {
                        my_log ("connection closed by server\n");
                        return (-1);
                }
                strcpy(query, "");
                strncpy(query, &buf[2], (nread-2 > 255)? 255: nread-2);
                query[(nread-2 > 255)? 255: nread-2] = 0;
                newfd = *(int *) CMSG_DATA (cmptr);
                return (newfd);

Sergey Smitienko Wrote:
-------------------------------------------------------
> А кто получает это сообщение. Покажите кусок кода второго демона, с
> recvmsg.
> > Вот кусок кода из модуля к 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()
> >
> > Всё работает как надо. Но переделывать его у меня не хватает знаний.
> >
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,233223,233310#msg-233310

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.