Help with C programming


 
Thread Tools Search this Thread
Top Forums Programming Help with C programming
# 1  
Old 04-11-2011
Power Help with C programming

for a question like this

Assume you have a server with two clients and two child processes. The server retrieves data from the
children through a pipe (one each) and writes data to the clients through a socket (one each). child1
produces data for client1, and child2 for client2.
Write a C loop that performs the above actions, making sure that at no time will the server sit and wait
for data from one child when the other child has data to pass. If either child dies, exit the loop.
You need to write only the loop transferring the data. Assume that all connections to pipes and sockets
have been established, and no more clients will try to connect to this server.
The pipes are declared in arrays p1 and p2, respectively. The sockets are s1, and s2.
You may use this function (you do not have to write it):
int transfer(int p, int s)
which gets data from pipe p and puts it into socket s, and returns the number of bytes read from the pipe.
is this correct?
Code:
while(1) {
    rset = allset;
    nready = select(maxfd+1, &rset, NULL, NULL, NULL);
    if (nready < 0) {
        perror("ERROR select error");
    }
    else if (FD_ISSET(p1[0], &rset)) {
        if ((bytes = transfer(p1[0], s1)) < 0) {
            perror("ERROR read error");
        }
        else if (bytes==0) {
            break;
        }
    }
    else if (FD_ISSET(p2[0], &rset)) {
        if ((bytes = transfer(p2[0], s2)) < 0) {
            perror("ERROR read error");
        }
        else if (bytes==0) {
            break;
        }
    }
}

# 2  
Old 04-12-2011
Post your complete code. You're using all sorts of things which aren't defined in the snippet you posted.
# 3  
Old 04-12-2011
For this question, this code isn't from a program, i am just assuming the other parts are there, i just want to get the loop right. So just assume the rest is there. The question says just to write the loop part. By the way you did read the question right?
# 4  
Old 04-12-2011
Just noticed something:
Quote:
Originally Posted by omega666
for a question like this

Assume you have a server with two clients and two child processes. The server retrieves data from the <copypasted newline>
children through a pipe (one each) and writes data to the clients through a socket (one each). child1 <copypasted newline>
produces data for client1, and child2 for client2. <copypasted newline>
Write a C loop that performs the above actions, making sure that at no time will the server sit and wait <copypasted newline>
for data from one child when the other child has data to pass. If either child dies, exit the loop. <copypasted newline>
You need to write only the loop transferring the data. Assume that all connections to pipes and sockets <copypasted newline>
have been established, and no more clients will try to connect to this server. <copypasted newline>
The pipes are declared in arrays p1 and p2, respectively. The sockets are s1, and s2. <copypasted newline>
You may use this function (you do not have to write it): <copypasted newline>
int transfer(int p, int s)<copypasted newline>

which gets data from pipe p and puts it into socket s, and returns the number of bytes read from the pipe. <copypasted newline>
is this correct?
I'm not helping you with your homework. And now I'm forced to suspect that everything you've posted so far is homework. It'd explain your bizzare reluctance to post all your code -- maybe it's not all yours.
# 5  
Old 04-12-2011
Do not post classroom or homework problems in the main forums. Homework and coursework questions can only be posted in this forum under special homework rules.

Please review the rules, which you agreed to when you registered, if you have not already done so.

More-than-likely, posting homework in the main forums has resulting in a forum infraction. If you did not post homework, please explain the company you work for and the nature of the problem you are working on.

If you did post homework in the main forums, please review the guidelines for posting homework and repost.

Thank You.

The UNIX and Linux Forums.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

From iOS programming to Linux system programming

Hello. I like Linux and C programming language. Allways wanted to understand kernel and become a Linux system programmer. And I also like Objective-C and iOS. These two programming areas have relations: 1. Linux and iOS are UNIX-like systems, POSIX compliant. 2. It is useful to know C language... (2 Replies)
Discussion started by: Rockatansky
2 Replies

2. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

3. Shell Programming and Scripting

Sh programming

I have started writing one script. It is not taking the if block. Here is the script: #!/bin/sh set USER='/usr/ucb/whoami' ####################################################################### #Killing Process #######################################################################... (6 Replies)
Discussion started by: amarpreetka
6 Replies

4. Programming

C Programming - Hardware Programming

Can someone help me on suggesting some ways to access the memory content in RAM directly from C/C++ source code. Please provide me any book name or any URL so that I can get an exhaustive knowledge over it. If possible please give me some tips on interacting with hardwares directly through... (3 Replies)
Discussion started by: nandumishra
3 Replies

5. UNIX for Dummies Questions & Answers

Carreer:Networking Programming in Unix (C programming Language)

Hello, I am trying to learn Networking Programming in C in unix enviorment. I want to know how good it is to become a network programmer. i am crazy about Network programming but i also want to opt for the best carreer options. Anybody experienced Network Programmer, please tell me is my... (5 Replies)
Discussion started by: vibhory2j
5 Replies

6. Shell Programming and Scripting

New To Programming

Hello all!! I am new to programming, and to this forum. :D I am having sort of a problem. Me and my coworker are working on a code, both of us are stumped on a few things. One is we have a whole log file, i have found how to extract by column, but not by row. I need to extract by both.:confused:... (7 Replies)
Discussion started by: xkayla06
7 Replies

7. Programming

C++ programming

Sorry to ask this question here... where can I find a C++ programming thread? Thanks guys! (7 Replies)
Discussion started by: nadiamihu
7 Replies

8. Shell Programming and Scripting

Unix Systems Programming Vs Unix Programming

Several months ago I found a link that explained the difference between how a Unix Systems Admin would do scripting compared to what a Unix Programmer would do. It showed a basic script and then show several iterations that explained how the Systems Admin would change it to make it better. I was... (0 Replies)
Discussion started by: BCarlson
0 Replies

9. Programming

c programming or unix programming!?

i would like advice on the usbject of c programming (in the middle of reading a book on C). could i benefit more if i apply that knowledge in the unix format if i were able to, or would that take the point out of learning C, basically I want to stay away from strying too far away from unix and use... (1 Reply)
Discussion started by: moxxx68
1 Replies

10. Programming

c programming on vi

i am new in linux environment .I have used vi editor of Unix to get a programe compiled through "gcc ".kindly give me the options to get a program compiled & executed written in c on vi editor. I want the command to compile a file and the command to get that compiled file executed with any... (2 Replies)
Discussion started by: Rajraius
2 Replies
Login or Register to Ask a Question