Re: Нужен модуль.
Vipper
nginx-forum at nginx.us
Wed Nov 28 07:52:19 UTC 2012
Его получает демон, но написанный не на ноде как сейчас, а на С++.
Вот кусок:
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 at nginx.org
> 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