C 用例
C 用例
int one = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &one, sizeof(one));
bind(fd, addr, addrlen); listen(fd, backlog);| 对比 SO_REUSEADDR | 解决地址重用/时间等待问题 |
|---|---|
| 对比单 accept 模型 | 多进程各自 accept, 减少惊群与争抢 |
多个进程绑定同一端口由内核按流哈希分流, 替代单进程 accept 的锁竞争; 监听前各进程都要设置该选项。
int one = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &one, sizeof(one));
bind(fd, addr, addrlen); listen(fd, backlog);| 对比 SO_REUSEADDR | 解决地址重用/时间等待问题 |
|---|---|
| 对比单 accept 模型 | 多进程各自 accept, 减少惊群与争抢 |