EmbLogic's Blog

Project 6: Client Server using Inter-process Communication Mechanism

The purpose of this discussion is to get the participants familiar with the different mechanisms that are available for communicating between two or more processes.  Inter-Process Communication, which in short is known as IPC, deals mainly with the techniques and mechanisms that facilitate communication between processes. Now, why do we need special separate mechanisms or techniques for communicating between processes? Why isn’t it possible to have information shared between two processes without using such special mechanisms?

26 Responses to Project 6: Client Server using Inter-process Communication Mechanism


    sir i have implemented the ipc mechanism using fifo ,message queues and semaphores..

    havent notices any need for shared memory..

    all the clients are getting the right data they are requesting for..

  2. Harsimran singh says:

    IPC project done with 50 requesting clients . All the clients are receiving correct results as per the request . I have implemented FIFO , PIPE , SEMAPHORES , MESSAGE QUEUES in this project .

  3. yashvardhan says:

    Hi ,

    Status: The above mentioned project has been completed.

    A total of 50 requesting clients would simultaneously send their request to server which will calculate their results using processing clients and would serve respective results back to the requesting clients.

    IPC Mechanisms used: Pipe , Named Pipe Message Queues.

    Synchronization technique used: Semaphores


  4. ankit.mishra says:

    Dear Sir
    I have implemented the Client Server interprocess communication using Interprocess communication mechanism for three requesting clients and three processing clients.I have implemented one fifo and samaphore in between server and requesting clients.I have implemente messageQ at other side.Again implemented messageQ at req clientd side.Now i am working for 50 requesting clients.

  5. Suresh kumar says:

    I’have some problem in the ipc project.
    What i’have done till now is explain as;

    I used fifo,pipe,msgqueue,semaphore in my project and perform for 2 client and 2 process client.
    In this project i send data form client to server with fifo successfully with the help of syncronization tecq. “semaphore”. Server got the operator and two operand then using msgque i send the data and operator into process client successfully. After calculation result is send to server through pipe successfully.(Generate two pipes for different process clients)
    But i’m unable to send result into req_client from server through msqque . My reult of both req_clients is store in the one int type varible in server one-by-one.Can i use two different variables to store result of different req_clients .If yes how can i manage variables when no. of clients are increased more than 50.
    Plz guve me suggestion.

  6. maninderjeet singh says:

    i have complete the first stage of my project that i have sent the data b/w 3 client and 3 process using pipe.and with using fifo now i am appling semaphore in my project ….

    and my queries are following till now??
    Q. what type of buffer is used by pipe? is that max size of pipe buffer is 4096?if true then why?
    2 Q what type of buffer is used by fifo?and why??

  7. Hi,

    I have successfully complete my project 6 with 60 Requesting clients using IPC mechanism (Pipe, Fifo, Message Queue) and synchronization technique Semaphore.

  8. i have successfully complete my project with 10 requesting clients……….using fifo,pipe,message_wueue………

  9. Rishi kumar says:

    i hav impliment semaphore and message Q using 3 requsting client …….

  10. ashu says:

    i have implemented ipc project till 3 client and 3 process , using fifo and semaphore i send data to server and after that data is send to the process client using message qeue.
    processed data is send to the server using pipe and semaphore.processed data is on server
    till now ,i will use shared memory to send the data to clients.

  11. kuldeep singh says:

    i have implemelted project 6 with 4 using pipe,fifo,message_que and working for 50 clients

  12. Suresh kumar says:

    Status: My project is working for four reqclients and 4 processing clints.

    In this project i’m used fifo for transfer the data from clients to server and used message queue to transfer data to process clients from server.
    To transfer the data in proper way we use syncronization technique semaphore.After calculation result in process result is transfer to server using single pipe.
    Semaphore is again used in the processes,to transfer result in proper manner to server .Result is transfer in req. clients from server with msgqueue.

  13. Nishank aggarwal says:

    i have successfully implemented my ipc project with 5 requesting clients & 5 processing clients and 1 server.first i sent the data from requesting clients by using fifo with semaphore & then sent this data from server to processing client by using message queue & using forf() ,excl() also……& again sent the result to the server by using pipe(),……..and sent the result to the different requesting clients by using pipe()…….

  14. kuldeep singh says:

    i have implemelted project 6 with 5 using pipe,fifo,message_que and working for 50 clients

  15. jai says:

    i have implemented the ipc project using fifo,semaphore,msg-que,….using 4 clients..

  16. kuldeep singh says:

    i have implemented ipc project with 52 clients
    using pipe,fifo,message queue,semaphore

  17. jagbir singh says:

    i have implemented ipc project with 4 clients using pipe,fifo,semaphore,message queue.

  18. Hi,

    I modify my project with adding Shared Memory for data flow. In my project data flow is as :

    Requesting client -> Server = FIFO
    Server -> Processing client = Shared Memory
    Processing client -> Server = Pipe
    Server -> Requesting client = Message Queues

    Used Semaphore in Requesting client and Processing client….

    But I am facing a issue, as I am running script of 60 clients it response to only 40 clients ,if I am running with 30 clients then it response to around 25 clients and so on….but that was not happening when I am not using shared memory in this project….

    can anybody let me know ?

  19. ankit.mishra says:

    I have completed this project for 50 clients.I also implemented shared memory and did practice on that.Now i am comfortable with various IPC mechnisms.

  20. jagbir singh says:

    i have implemented ipc project with 50 clients
    using pipe,fifo,message queue,semaphore,shared memory

  21. Suresh says:

    What are x’open standards?

  22. sushant says:

    I have implement the pipe using 1 request client & 1 processing client…Working on 3-requesting client & 3-processing client.

  23. sushant says:

    I have implemented pipe project with 3 clients.

  24. ayush.gupta says:

    After implementing read from FIFO (i.e. after reading once from FIFO) the data in the FIFO is not flushed out of the FIFO. A read operation on FIFO is a move operation, can you please explain why is this happening?
    Also, is there any size limit of a FIFO for single write operation? What is the maximum limit of the size of data that can be written to a FIFO by a single write operation?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>