1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
svlad2 [7]
4 years ago
11

Write a client program that writes a struct with a privateFIFO name (call it FIFO_XXXX, where XXXX is the pid that you got from

the getpid( ) function) to the server. Have the server read the privateFIFO name and write a message back to the client. Read the message and print it on the client side
Computers and Technology
1 answer:
ivann1987 [24]4 years ago
3 0

Answer:

client code:

#include <stdio.h>

#include <fcntl.h>

#include <sys/stat.h>

#include <sys/types.h>

#include <unistd.h>

#include <stdlib.h>

#include <string.h>

int main (void)

{

 struct values

 {

   char privateFIFO[14];

   int intbuff;

 }input;

 int fda;  // common FIFO to read to write to server

 int fdb;      // Private FIFO to read from server

 int clientID;

 int retbuff;

 char temp[14];

 clientID = getpid();

 strcpy(input.privateFIFO, "FIFO_");

 sprintf(temp, "%d", clientID);

 strcat(input.privateFIFO, temp);

 printf("\nFIFO name is %s", input.privateFIFO);

 // Open common FIFO to write to server

 if((fda=open("FIFO_to_server", O_WRONLY))<0)

    printf("cant open fifo to write");

 write(fda, &input, sizeof(input));    // write the struct to the server

 close(fda);

 // Open private FIFO to read

 if((fdb=open(input.privateFIFO, O_RDONLY))<0)

    read(fdb, &retbuff, sizeof(retbuff));

 printf("\nAll done\n");

 close(fdb);

}

server code:

#include <stdio.h>

#include <errno.h>

#include <fcntl.h>

#include <sys/stat.h>

#include <sys/types.h>

#include <unistd.h>

#include <stdlib.h>

#include <string.h>

struct values

 {

   char privateFIFO[14];

   int intbuff;

 }input;

int main (void)

{

 int fda;  //common FIFO to read from client

 int fdb;  //private FIFO to write to client

 int retbuff;

 int output;

// create the common FIFO  

 if ((mkfifo("FIFO_to_server",0666)<0 && errno != EEXIST))

       {

       perror("cant create FIFO_to_server");

       exit(-1);

}

// open the common FIFO

 if((fda=open("FIFO_to_server", O_RDONLY))<0)

    printf("cant open fifo to write");

output = read(fda, &input, sizeof(input));

// create the private FIFO

 if ((mkfifo(input.privateFIFO, 0666)<0 && errno != EEXIST))

 {

   perror("cant create privateFIFO_to_server");

   exit(-1);

 }

 printf("Private FIFO received from the client and sent back from server is: %d", output);

 //open private FIFO to write to client

if((fdb=open(input.privateFIFO, O_WRONLY))<0)

   printf("cant open fifo to read");

 write(fdb, &retbuff, sizeof(retbuff));

 close(fda);

 unlink("FIFO_to_server");

 close(fdb);

 unlink(input.privateFIFO);

}

Explanation:

You might be interested in
The template code provided is intended to check whether an integer entered by the user is outside of the range 20-29 (inclusive)
Pavlova-9 [17]

import java.util.Scanner;

public class JavaApplication60 {

   

   public static void main(String[] args) {

       Scanner scan = new Scanner(System.in);

       System.out.println("Enter a number in the twenties");

       int num = scan.nextInt();

   if(num >= 30 || num <= 19){

       System.out.println("That's not in the twenties!");

       num = 25;

   }

   System.out.println("Your number is " + num);

   }

}

This is the complete code including the main class and main method. I hope this helps!

3 0
3 years ago
Que es un proyecto técnico?
deff fn [24]

Answer:

Explanation:

La gestión técnica de proyectos es la capacidad de apoyar la gestión de una iniciativa de TI desde un concepto hasta un entregable concreto como un proyecto con conocimientos técnicos especializados. ... Esto puede depender de la organización o cultura geográfica de los diferentes países, o incluso del tamaño del proyecto.

7 0
3 years ago
Read 2 more answers
After several configuration changes are made to a router, the copy running-configuration startup-configuration command is issued
adoni [48]

Answer: NVRAM(Non-volatile random-access memory)

Explanation:Non-volatile random-access memory(NVRAM) is the memory that has a non-volatile nature.It is used for retaining of the data even when the system gets switched off .

This memory uses the power source from the CMOS battery for executing the functions. It is designed by using the pin configurations containing 24 pin in DIP(Dual inline package). So the situation mentioned in the question of storing the changes will appear in the NVRAM.

4 0
4 years ago
Choose the person responsible for each innovation.
shepuryov [24]

Answer:

John Blankenbaker

Explanation:

5 0
3 years ago
Do the following SQL questions. The resulting columns must all have descriptive names. You must show the result of the query. Fo
Maslowich

Answer:

We can use CREATE command to create tables with columns having descriptive names

Explanation:

Firstly, create a table using CREATE  command in SQL. The syntax is as follows:

CREATE TABLE [table_name]

(

 [col_name] [datatype]),

[col_name] [datatype]),

[col_name] [datatype]),

[col_name] [datatype])

)

Once the table is created, we can insert the data into table using INSERT command. It's syntax is as follows:

INSERT INTO table_name VALUES('', '', '')

if datatype is string, values must be entered within single quotes. If datatype is int, values are entered directly without using  quotes.

Now, you can select the data from  the table using SELECT command. It's syntax is as follows:

SELECT column-list FROM table_name

If you want to filter rows according to conditions, you can use WHERE command.

I have created  sample table and inserted some data into it. Now, I applied some queries on it to select data from the table.

I have written in a text file and attached the same. Please find. Thank you!

Download txt
3 0
4 years ago
Other questions:
  • Wanda wants to find some basic information about her computer, for example, what operating system and how much RAM are installed
    10·1 answer
  • Because an AVL tree is a binary search tree, the search algorithm for an AVL tree is the same as the search algorithm for a bina
    10·1 answer
  • Which of the following is the java comparison operator for "not equal to"
    10·1 answer
  • A digital device Select one: a. uses electricity to run it. b. uses symbolic representations of data in the form of code. c. req
    7·1 answer
  • The following are part of characteristics of a software requirement specification.
    6·1 answer
  • Franklin gave a presentation without any help from others. He didn't smile, and he looked at the floor during the presentation.
    14·1 answer
  • Somebody pls help!!! i don’t know what i did but i don’t know how to fix it
    8·1 answer
  • Fortnight on sat 530-10 my name is TTV BTW laggking_12
    5·1 answer
  • Using only AND, OR and inverter gates to implement the above Boolean equation, how many gates are needed
    8·1 answer
  • What is the purpose of a computer network needs assessment? to evaluate how to move from the current status to the desired goal
    15·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!