469,929 Members | 1,575 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,929 developers. It's quick & easy.

using select to read STDIN?

Hi!, i have a "server-like" application:
i use select to accept and recieve data from Sockets.
I want to Add a menu to this app something like "pick an option" thing,
but it has to show data according to data recieved from Sockets..

I found a way to do it with Fork, i mean, First i fork;in the Child i
do all the menu stuff and in the "else" part (the parent part) i have
the rest (the while(1) with a select inside). But i dont like this
because, i don't like forking just for a menu! and i have to create a
socket to communicate with the parent.

i was thinking.. isn't it possible to tell the select to read and show
the stdin, after all, it's a FD.
I tried this but i couldn't get it to work correctly, i ran into
trouble like "recv cant read from a Non-socket fd" "i read the stdin
with "read" but i reads char by char -i guess- and it remains "ready"
so select, keeps selecting stdin forever.

so, i don't know which is THE way to do it correcly if there is such a
thing.

Thanks.

May 16 '06 #1
3 3284
if*****@gmail.com wrote:
Hi!, i have a "server-like" application:
i use select to accept and recieve data from Sockets.
I want to Add a menu to this app something like "pick an option" thing,
but it has to show data according to data recieved from Sockets..

I found a way to do it with Fork, i mean, First i fork;in the Child i
do all the menu stuff and in the "else" part (the parent part) i have
the rest (the while(1) with a select inside). But i dont like this
because, i don't like forking just for a menu! and i have to create a
socket to communicate with the parent.

i was thinking.. isn't it possible to tell the select to read and show
the stdin, after all, it's a FD.
I tried this but i couldn't get it to work correctly, i ran into
trouble like "recv cant read from a Non-socket fd" "i read the stdin
with "read" but i reads char by char -i guess- and it remains "ready"
so select, keeps selecting stdin forever.

so, i don't know which is THE way to do it correcly if there is such a
thing.


This is the wrong group, we limit our discussions to Standard C here
which does not include sockets, forking, etc.; try
comp.unix.programmer.

Robert Gamble

May 16 '06 #2

ok, i will

sorry.

May 16 '06 #3
if*****@gmail.com wrote:

Hi!, i have a "server-like" application:
i use select to accept and recieve data from Sockets.
I want to Add a menu to this app something like "pick an option" thing,
but it has to show data according to data recieved from Sockets..

I found a way to do it with Fork, i mean, First i fork;in the Child i
do all the menu stuff and in the "else" part (the parent part) i have
the rest (the while(1) with a select inside). But i dont like this
because, i don't like forking just for a menu! and i have to create a
socket to communicate with the parent.


You probably want a newsgroup with 'restaurant' or 'dining' or
something like that in its name. This is comp.lang.c, which has
nothing whatsoever to do with menus, selecting therefrom, forks,
serving, sockets, parents. There is also a remote chance that
comp.unix.programmer would be useful.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>
Also see <http://www.safalra.com/special/googlegroupsreply/>
May 16 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

12 posts views Thread by Chuck Anderson | last post: by
3 posts views Thread by Harayasu | last post: by
3 posts views Thread by Marcia Hon | last post: by
6 posts views Thread by Charlie Zender | last post: by
5 posts views Thread by Dio | last post: by
reply views Thread by timekeer9 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.