Subject Computer Science Network Management and Data Communication


Socket Programs in Perl

In this assignment, you learn to write a socket program in Perl. You are introduced to some of the major issues involved in Perl network programming.

Research the following:

- Socket programming in Perl
- Perl network programming
- Based on your research and understanding, complete the following discussions:

Part 1

A blocking call consumes more resources, and it is definitely advantageous to make a blocking call nonblocking. Based on this, complete the following tasks:

Identify some methods to make a blocking call nonblocking. Discuss the key difference(s) amongst these methods.
Use a simple client-server example to illustrate your methods.

Part 2

Write a Perl program to address the following:

- It creates a file and writes the integer zero to the file.
- The program then calls a fork to spawn a child process.
- The parent and child processes alternate incrementing a counter in the file.
- Each time the counter is incremented, print to the console which process, parent or child, is performing the increment.
- Each process should tell the other process when it has finished its operation. Each process should wait for the other to complete before incrementing the counter.
- The maximum value to which the counter can be incremented is taken as an input from the user.
- Discuss any challenges that you have faced in writing your program.

Solution Preview

This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.

Part I:
There are several methods which can be used to make a blocking call non-blocking. One of them is the timeout method (Stein, 2001). In this, the value of the timeout determines the time for which the process would wait for the blocking functions such as accept ( ) or connect ( ). This value can be either set or can be entered as input by...

This is only a preview of the solution. Please use the purchase button to see the entire solution


or $1 if you
register a new account!

Related Homework Solutions

Get help from a qualified tutor
Live Chats