Redian新闻
>
question about socket programming
avatar
question about socket programming# Programming - 葵花宝典
e*d
1
一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么
把这个新的socket加到这一组socket中,一起听。
avatar
t*t
2
basically you need to let select() return earlier. you may: 1. send a signal
(you need to use pselect() instead); 2. use a phony pipe between 2 threads,
and also select on this phony pipe. when server create new socket, send
something to the pipe.

【在 e******d 的大作中提到】
: 一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么
: 把这个新的socket加到这一组socket中,一起听。

avatar
e*d
3
Thanks a lot!

signal
threads,

【在 t****t 的大作中提到】
: basically you need to let select() return earlier. you may: 1. send a signal
: (you need to use pselect() instead); 2. use a phony pipe between 2 threads,
: and also select on this phony pipe. when server create new socket, send
: something to the pipe.

avatar
c*g
4
给select加timeout;或者用asynchronous的方法,比如epoll

【在 e******d 的大作中提到】
: 一个线程已经在阻塞的select一组socket,同时SERVER又产生了一个新的socket,怎么
: 把这个新的socket加到这一组socket中,一起听。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。