我在写一个执行服务器 - 客户端关系的程序。
在程序中,我使用select()
以获取客户端的请求,以及用户从stdin发出的请求(服务器后面的请求)。
它似乎是select()
适合客户的要求,但似乎没有回应来自stdin
的输入。
此外,我没有成功从stdin
recv()
。 有没有办法以非阻塞的方式从stdin获取输入?我试过使用fgets()
而不是select()
,并且我已经将fcntl()
设置为非阻塞,它似乎不起作用 - 它仍然阻塞。使用select()从stdin读取 - 以非阻塞的方式
你有什么建议? 谢谢。
您可以发布基于怎样你试过一些代码? – cpx 2011-05-24 07:29:44
winsock意味着windows? ;)我认为select()仅适用于Windows上的套接字,文件处理程序不能通过select来处理,但可以在Unix上获得文件描述符并将其添加到FD_SET – tvn 2011-05-24 07:49:59
什么是stdin连接到常规文件?管?插座?它是如何打开的?尝试发布展示该问题的小程序。 – Gilles 2011-05-24 08:26:32