Salt Lake City, Utah
June 20, 2004
June 20, 2004
June 23, 2004
2153-5965
8
9.241.1 - 9.241.8
10.18260/1-2--14060
https://peer.asee.org/14060
519
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: datacomm@cs.bgsu.edu
Abstract
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