Asee peer logo

Asynchronous Communication Between Network Processes

Download Paper |


2004 Annual Conference


Salt Lake City, Utah

Publication Date

June 20, 2004

Start Date

June 20, 2004

End Date

June 23, 2004



Conference Session

Computers in Education Poster Session

Page Count


Page Numbers

9.241.1 - 9.241.8



Permanent URL

Download Count


Request a correction

Paper Authors

author page

Sub Ramakrishnan

author page

Mohammad Dadfar

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Session 1520

Asynchronous Communication Between Network Processes

Sub Ramakrishnan, Mohammad B. Dadfar

Department of Computer Science Bowling Green State University Bowling Green, Ohio 43403 Phone: (419) 372-2337 Fax: (419) 372-8061 email:


This paper concerns a project that provides hands-on exposure to students of a typical undergraduate data communication course. The project is implemented in C++. However, it is applicable to other programming languages as well.

The project deals with blocking and how a server in a TCP/IP network figures out which one of its many client sockets has data to read from. This is resolved using asynchronous communication between a client and a server. Briefly, the server can receive data from any of the clients it is connected to. However, the server does not know which client to wait on. The student has to employ nonblocking socket read and 'select' mechanisms at the server to correctly identify the client it can read from.

1. Introduction

Many schools offer a data communications course at the undergraduate computer science program. Our program has a required core course in operating systems and networks (CS 327), followed by an elective course that is devoted to data communications and networks (CS 429).

In CS 327, we cover introductory topics including process management, concurrent processes, protocol architecture, TCP/IP suite, brief overview of broadband services, client-server communication and web enabling applications. We assign practical and useful projects that help students to gain an insight into the operating systems concepts and networking. We have assigned some useful projects in the past1, 2, 4. Most of our projects are assigned in a UNIX platform. Our students know UNIX and have done extensive programming in C/C++.

This paper concerns a project in CS 429. In this course we discuss transmission media and techniques for transmission and switching. Error detection and protocol techniques for reliable communication are also covered in the course. We also spend time on data compression techniques. Other topics covered include multiplexing techniques and switching technologies.

Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition Copyright  2004, American Society for Engineering Education

Ramakrishnan, S., & Dadfar, M. (2004, June), Asynchronous Communication Between Network Processes Paper presented at 2004 Annual Conference, Salt Lake City, Utah. 10.18260/1-2--14060

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2004 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015