日期:2014-05-16  浏览次数:20759 次

spawn-fcgi是如何做到让多个fastcgi进程监听同一端口的?
一般的情形下,TCP协议中一个进程只能绑定一个IP下的一个端口,即使套接口设置了SO_REUSEADDR选项也不能让多个进程共享同一TCP端口。

但我用spawn-fcgi时发现,这个fastcgi管理进程启动了若干个fastcgi进程(并在启动完这些进程之后,这个管理进程就自己退了),仅仅额外设置了SO_REUSEADDR选项,按理说这样的套接口是不能被多个进程共享的,难道我看错了吗?

谁告诉我这是为什么,或者这是spawn-fcgi的一个bug?
谢谢!

------解决方案--------------------
master创建监听套接字, 然后创建若干worker进程, 每个worker进程lock;accept;unlock;就可以了.